web-dev-qa-db-ja.com

WordPressの通知メールの件名フィールドをカスタマイズする

マルチサイトブログから送信された「パスワードリセット」通知メールの件名フィールドをカスタマイズおよび編集できますか?私のブランドログインやホワイトラベルCMSなどのようないくつかのプラグインを試したことがありますが、パスワードリセット通知でこれを編集することはできません。

編集方法を理解してくれる人はいますか。

更新:

今日私は別のインストールを試してみました。しかし、それは何の変更も加えていません。メールアドレスからの単語 'wordpress'はまだそこにあります。私は加えました -

add_filter ( 'wp_mail_from_name', 'my_filter_that_outputs_the_new_name' );

なにか足りないのですか?これを解決するのを手伝ってもらえますか?

4
user391

フィルタ を使ってそれらを変更できます。使用したいフィルタフックは次のとおりです。

  1. 最初のemail メッセージ(本当にパスワードをリセットしたいかの確認):
    • 'retrieve_password_title'
    • 'retrieve_password_message'
  2. フォローアップ電子メール メッセージ(新しいユーザー名とパスワードの送信)の場合:
    • 'password_reset_title'
    • 'password_reset_message'

更新: これらのフィルタを作成して使用するには、次のコードまたは類似のコードをfunctions.phpファイルに追加します。

function my_retrieve_password_subject_filter($old_subject) {
    // $old_subject is the default subject line created by WordPress.
    // (You don't have to use it.)

    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
    $subject = sprintf( __('[%s] Password Reset'), $blogname );
    // This is how WordPress creates the subject line. It looks like this:
    // [Doug's blog] Password Reset
    // You can change this to fit your own needs.

    // You have to return your new subject line:
    return $subject;
}

function my_retrieve_password_message_filter($old_message, $key) {
    // $old_message is the default message already created by WordPress.
    // (You don't have to use it.)
    // $key is the password-like token that allows the user to get 
    // a new password

    $message = __('Someone has asked to reset the password for the following site and username.') . "\r\n\r\n";
    $message .= network_site_url() . "\r\n\r\n";
    $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
    $message .= __('To reset your password visit the following address, otherwise just ignore this email and nothing will happen.') . "\r\n\r\n";
    $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";

    // This is how WordPress creates the message. 
    // You can change this to meet your own needs.

    // You have to return your new message:
    return $message;
}

// To get these filters up and running:
add_filter ( 'retrieve_password_title', 'my_retrieve_password_subject_filter', 10, 1 );
add_filter ( 'retrieve_password_message', 'my_retrieve_password_message_filter', 10, 2 );

フォローアップ電子メール も変更したい場合は、同様のことをします。件名とメッセージを作成するためのガイドとして WordPress code を使用してください(変数$title$messageを探してください)。

6
Doug