MENU

confirm_another_blog_signup()

confirm_another_blog_signup() は、新たに作成されたサイト(ブログ)が正しくサインアップされたことをユーザーに知らせるメッセージを表示します。

関数は、サイトのドメイン、パス、タイトル、ユーザー情報(ユーザー名、メールアドレスなど)およびオプションのメタデータを受け取り、ユーザーにサイトURLやログインURLへのリンクを含むメッセージを出力します。

マルチサイト環境において、サインアップ成功時のフィードバックとして利用されるため、ユーザーが新規サイトの情報を確認し、ログインしやすくする役割を担います。

目次

基本構文

基本的な構文は以下の通りです。必要なパラメータを指定して呼び出すことで、サイト作成完了の確認画面を出力します。

<?php
   confirm_another_blog_signup(
       $domain, // サイトのドメイン
       $path, // サイトのルートパス
       $blog_title, // サイトのタイトル
       $user_name, // ユーザー名
       $user_email, // (オプション)ユーザーのメールアドレス
       $meta, // (オプション)追加のサインアップメタ情報
       $blog_id // サイトID(マルチサイトの場合に必要)
   );
?>

サイトID($blog_id)が指定されている場合、そのブログコンテキストに切り替えてホームURLやログインURLを取得し、出力メッセージ内にリンクを表示します。

サイトIDが指定されていない場合は、引数として渡されたドメインとパスから直接 URL を生成します。

HTML の出力部分で、サイトタイトルにリンクを持たせるとともに、ログイン用 URL とユーザー名を含むテキストを表示します。

最後に do_action( 'signup_finished' ) が呼ばれ、必要に応じた追加の処理(フック経由のカスタマイズ)が実行されます。

引き数と戻り値

引き数説明
$domainstring, 必須サイトのドメインURL(例:example.com)。
$pathstring, 必須サイトのルートパス(例:/ または /blog/)。
$blog_titlestring, 必須作成するサイトのタイトル。
$user_namestring, 必須サイト作成者のユーザー名。
$user_emailstring,オプションサイト作成者の電子メールアドレス。指定がない場合は空文字列がデフォルトです。
$metaarray, オプションvalidate_blog_signup() 内の add_signup_meta フィルターにより追加された任意のメタデータ。デフォルトは空の配列。
$blog_idint, 必須サイトID。マルチサイトの場合は、新規サイトのIDが設定されます。
戻り値説明
なしこの関数は直接出力を行う(echo)ため、戻り値はありません。表示するメッセージとして HTML がレンダリングされます。

使用例

サイト作成完了メッセージの表示例

<?php
   $domain = 'example.com';
   $path = '/blog/';
   $blog_title = 'My New Blog';
   $user_name = 'john_doe';
   $user_email = 'john@example.com';
   $meta = array( 'foo' => 'bar' );
   $blog_id = 42;
   confirm_another_blog_signup(
      $domain,
      $path,
      $blog_title,
      $user_name,
      $user_email,
      $meta,
      $blog_id
   );
?>

この例では、ブログ ID 42 に新しく作成されたサイトに対して、指定されたドメイン、パス、サイトタイトル、ユーザー情報を元に、サイトが正しく作成されたことを知らせるメッセージが出力されます。内部で一時的にブログコンテキストが切り替えられ、ホームURLとログインURLが動的に生成されるため、正確なリンク付きの確認メッセージが表示されます 。

注意点

ブログコンテキストの切り替え

マルチサイトの場合は、$blog_id が正しく指定されていることが重要です。指定がない場合や誤ったIDの場合、意図しないURLが生成される可能性があります。

出力のカスタマイズ

内部でフィルターフック(signup_finished)が利用されているため、テーマやプラグインで出力メッセージが上書き・拡張されることがある点に留意してください。

HTML と翻訳

出力内で __()printf() が利用されているため、ローカライズ対応している場合は翻訳ファイルの整備が必要です。

良く一緒に使われる関数

switch_to_blog()

if ( $blog_id ) {
   switch_to_blog( $blog_id ); // ホームURLやログインURLの取得処理…
   restore_current_blog(); 
}

指定されたサイトに一時的に切り替えるために使用します。これにより、各ブログ固有の URL やオプションを正確に取得できるようになります.

home_url()

$home_url = home_url( '/' );

現在のサイトのホームURLを取得します。confirm_another_blog_signup() 内でサイトリンクを生成する際に使われます.

wp_login_url()

$login_url = wp_login_url();

現在のサイトのログインURLを取得し、ユーザーが新規サイトにログインするためのリンクとして利用します。

想定されるトラブル

ブログIDの不一致による URL 誤生成

$blog_id が正しく指定されていない場合、switch_to_blog() の切り替えが行われず、誤ったホームURLやログインURLが出力される可能性があります。

解決方法

サインアップ処理前に、対象となるブログIDが正しいかどうかを確認するロジックを導入し、エラー時は適切な代替処理やエラーメッセージを出すようにしてください。

カスタムフィルターによる出力の上書き

他のプラグインやテーマが signup_finished アクションにフックしている場合、出力内容が変更される可能性があります。

解決方法

カスタムサイトでは、利用中のフィルターやアクションの内容を事前に確認し、必要に応じて優先度の調整や条件分岐を追加してください.

Q&A

confirm_another_blog_signup() はどのようなタイミングで呼び出されるべきでしょうか?

新規サイトの作成が完了し、ユーザーにサイト情報とログイン手順を通知するタイミング(サインアップ完了直後)に呼び出されます。

マルチサイト環境以外でも利用可能でしょうか?

主にマルチサイト環境向けに設計されていますが、単一サイト環境でも一定のパラメータを指定することで利用可能です。ただし、切り替え処理は不要な場合が多いです

出力内容のカスタマイズは可能ですか?

はい。内部で do_action('signup_finished') が呼ばれているため、テーマやプラグインで独自のカスタマイズを加えることが可能です。

まとめ


confirm_another_blog_signup() は、WordPress マルチサイト環境における新規サイト作成時の確認メッセージを出力するための便利な関数です。

サイトのドメイン、ルートパス、サイトタイトル、ユーザー情報など必要なパラメータを受け取り、ユーザーに対して正確なサイト情報とログインURLを提示します。

各種関数(switch_to_blog(), home_url(), wp_login_url())との連携により、動的なサイト情報を生成できる点やカスタムフィルターによる拡張性の高さが大きな魅力です。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次