WordPressで新規ユーザーへのメールをカスタマイズする

Author :

wordpress

WordPressで新規ユーザを登録すると、IDやパスワードの書かれたメールが送られてきます。

サイト「 Factory70 BLOG 」の新規ユーザー登録:
ユーザー名: aaaaaaaaa
メールアドレス: mymailaddress@factory70.com

ちょっと、そっけないですよね。ユーザがウェブへの理解度が低い場合など、もう少し親切にするのが良いかもしれません。

カスタマイズの方法を挙げてみましょう。

プラグインを使う

WordPressの公式プラグインディレクトリに「New User Email Set Up」というプラグインがあります。これを使えば、新規ユーザへ送られるメールを編集することができます。

プラグインを「つくる」

または、かんたんなプラグインを自作する、という方法もあります。

/wp-content/plugins/ に、新しいファイルをつくります。ファイル名はcustom_new_user_email.php などとすれば良いでしょう。

ファイルの中身は、こんなふうにします。

<?php
/*
Plugin Name: Custom New User Email
Description: Changes the copy in the email sent out to new users
*/if ( !function_exists(‘wp_new_user_notification’) ) {

function wp_new_user_notification( $user_id, $plaintext_pass = ” ) {

$user = new WP_User($user_id);

$user_login = stripslashes($user->user_login);
$user_email = stripslashes($user->user_email);
$login_url = wp_login_url();
$blog_name = get_option(‘blogname’);

//管理人に送られる内容
$message = sprintf(__(‘「%s」への新規ユーザ登録が行われました’), $blog_name) . “\r\n\r\n”;
$message .= sprintf(__(‘Username: %s’), $user_login) . “\r\n”;
$message .= sprintf(__(‘E-mail: %s’), $user_email) . “\r\n”;
// —

@wp_mail(get_option(‘admin_email’), sprintf(__(‘[%s] New User Registration’),$blog_name), $message);

if ( empty($plaintext_pass) )
return;

//新規ユーザに送られる内容
$message = <<< EOM

{$blog_name}へようこそ!
IDとパスワードをお知らせします。
_________________________

ユーザー名: {$user_login}
パスワード: {$plaintext_pass}
_________________________

▼ログインはこちらから
{$login_url}

ご不明の点は管理者 {$user_email} までお問い合わせください。

EOM;

wp_mail($user_email, sprintf(__(‘[%s] Your username and password’), get_option(‘blogname’)), $message);

}

}
?>

あとは、ダッシュボードのプラグイン管理画面を開いて、このプラグインを有効化します。

参考ページ:Customizing the new user email with a pluggable function » Steve Taylor

このカスタマイズのしくみ

新規ユーザが登録されたときのメールの内容は、wp-includes/pluggable.phpにあるwp_new_user_notificationという関数で定義されています。pluggable.phpはプラグインで上書きすることのできる関数がまとめられたものです。つまり、上記に挙げたカスタマイズでは、何らかのプラグインで上書きしてオリジナル化しているというわけです。

ちなみに、wp_new_user_notificationはテーマファイル内のfunctions.phpからは上書きすることができません。なぜなら、WordPressの処理上、function.php→pluggable.php→プラグインの順で読み込まれるからです。

WordPressカスタマイズ承ります

以上を読んでも何やらさっぱり……という方は、ぜひご依頼ください。費用は20,000円〜です。