MENU

admin_created_user_email()

admin_created_user_email() は、管理者が WordPress の管理画面から新しいユーザーを作成した際に送信される招待メールの本文を生成する関数です。

この関数は、ユーザーがサイトに参加するためのリンクを含むメール本文を出力し、特にマルチサイト環境やカスタムユーザー管理機能を利用する際に役立ちます。

メールには、サイト名、URL、ユーザーの割り当てられた役割(ロール)などの情報が含まれます。

目次

機能の説明

admin_created_user_email() は、新しいユーザーに送信される招待メールの本文をカスタマイズするためのフィルターフックで利用されることが多い関数です。
この関数を利用することで、デフォルトのメール本文を変更し、サイトの用途に応じたカスタマイズが可能になります。

主な機能

  • 新規ユーザーに送信される招待メールの本文を生成
  • サイトのタイトル・URL・ユーザーロールを動的に挿入
  • 翻訳対応(__() 関数を使用)

シンプルなコード例

以下の例では、admin_created_user_email() をフィルターフック wp_new_user_notification_email に適用し、メール本文を変更します。

function custom_admin_created_user_email( $text ) {
    return str_replace(
        "This invitation will expire in a few days.",
        "This invitation will expire in 7 days. Please respond promptly.",
        $text
    );
}
add_filter( 'admin_created_user_email', 'custom_admin_created_user_email' );
  • str_replace() を使用してデフォルトの文言を変更
  • admin_created_user_email フィルターを適用して、メール本文をカスタマイズ

使い方の説明

admin_created_user_email() は、通常 wp_new_user_notification() の一部として機能します。
メールの内容をカスタマイズする際に add_filter() を使用してフックを適用できます。

カスタムメール本文の変更

function my_custom_user_email( $text ) {
    return "Welcome to our site! Please click the following link to activate your account:\n%s";
}
add_filter( 'admin_created_user_email', 'my_custom_user_email' );
  • add_filter() を使用して admin_created_user_email をカスタマイズ
  • return で独自のメール本文を指定
  • "%s" の部分には、後でアクティベーションリンクが埋め込まれる

一緒に使うことが多い関連タグ

wp_new_user_notification()

新規ユーザーの作成時に通知メールを送信する関数。

wp_new_user_notification( $user_id, null, 'both' );

admin_created_user_email()wp_new_user_notification() に組み込まれているため、メールのカスタマイズと一緒に利用できます。

get_bloginfo()

サイト名や URL を取得するための関数。

$site_name = get_bloginfo( 'name' );

メール本文内にサイト名を挿入する場合に便利。

追加情報で取得したい場合

get_editable_roles()

管理画面で編集可能なユーザーロールの一覧を取得。

$roles = get_editable_roles();

利用例

$role_name = translate_user_role( $roles['subscriber']['name'] );

admin_created_user_email() 内部でも使用されている関数で、特定のユーザーロールを取得できます。

想定されるトラブル

メールが送信されない

解決方法

  • wp_mail() の設定を確認し、SMTP プラグインを導入する。
  • wp_new_user_notification() の動作を確認し、エラーログをチェック。

メール本文が変更されない

解決方法

  • add_filter( 'admin_created_user_email', 'custom_function' ) が適用されているか確認。
  • return する値が正しく変更されているかチェック。

Q&A

admin_created_user_email() でメールの件名も変更できますか?

いいえ。この関数は本文のみをカスタマイズするため、件名を変更するには wp_mail() をフックする必要があります。

admin_created_user_email()を無効化できますか?

直接無効化する仕組みはありませんが、フィルターで空の文字列を返せばメール本文が空になります。

マルチサイト環境で使用できますか?

はい。マルチサイト環境でも get_bloginfo('name')home_url() を利用して適切なサイト情報を取得できます。

まとめ

  • admin_created_user_email() は、管理者が作成したユーザーへの招待メール本文を生成する関数。
  • wp_new_user_notification() などと組み合わせて使用されることが多い。
  • add_filter( 'admin_created_user_email', 'custom_function' ) を使ってカスタマイズ可能。
  • メールが送信されない場合は wp_mail() の設定を確認し、SMTP プラグインの導入を検討する。
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次