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_new_user_notification()
などと組み合わせて使用されることが多い。add_filter( 'admin_created_user_email', 'custom_function' )
を使ってカスタマイズ可能。- メールが送信されない場合は
wp_mail()
の設定を確認し、SMTP プラグインの導入を検討する。
コメント