web-dev-qa-db-ja.com

パスワードのリセット - 名前とメールアドレスから変更

パスワードのリセットが終了すると、名前は 'WordPress'、送信元アドレスは[email protected]です。これらを会社名に変更する必要があります。

私はWordPress 3.8マルチサイトを運営しており、次のことを行っています。

  • サブサイトの一般設定名と電子メールアドレスを更新しました
  • 'WP Change Email'プラグインをインストールして詳細を更新した

ただし、これは効果がありません。パスワードリセットの面では違うフックを使っているからだと思います。

パスワードリセットのタイトルと本文をカスタマイズするために、functions.phpで次のコード( http://s14.codeinspot.com/q/2472332 から)を使用しています。

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 );

しかし、from名とemailアドレスを変更するためにこれを拡張する方法がわかりませんか?

2
Chris

次の2つのフックを使って名前とEメールアドレスを変更できます

あなたのアクティブなテーマのfunctions.phpファイルで以下を使用してください。

add_filter( 'wp_mail_from', 'wpse_new_mail_from' );     
function wpse_new_mail_from( $old ) {
    return 'your email address'; // Edit it with your email address
}

add_filter('wp_mail_from_name', 'wpse_new_mail_from_name');
function wpse_new_mail_from_name( $old ) {
    return 'your name or your website'; // Edit it with your/company name
}
4
Maruti Mohanty

アクティブテーマのfunctions.phpファイルで次のコードを使用してください。あなたのEメールアドレスとブログ名をハードコードする必要はありません、これはWordPress設定>一般で与えられるように両方を得ます。

add_filter( 'wp_mail_from', 'new_mail_from' );
add_filter( 'wp_mail_from_name', 'new_mail_from_name' );
function new_mail_from( $old ) {
    return get_option( 'admin_email' );
}
function new_mail_from_name( $old ) {
    return get_option( 'blogname' ); 
}
3
mohamed arshath