新しいユーザーがサインアップすると、確認のEメールが届きます。
Username: testuser To set your password, visit the following address:
しかし、私はそれをカスタマイズしたいので、私は次のコードをfunctions.php
に追加しました
でもうまくいきません。 それでもデフォルトのメールアドレスが送信されます。
私は4.9.9のワードプレスを使用しています
<?php
add_filter( 'wp_new_user_notification_email', 'custom_wp_new_user_notification_email', 10, 3 );
function custom_wp_new_user_notification_email( $wp_new_user_notification_email, $user, $blogname ) {
$wp_new_user_notification_email['subject'] = sprintf(__( '[%s] Your username and password' ), $blogname, $user->user_login );
$key = get_password_reset_key( $user );
$message = sprintf(__('Welcome to our website,')) . "\r\n\r\n";
$message .= 'To set your password, visit the following address:' . "\r\n\r\n";
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n";
$message .= "After this you can enjoy our website!" . "\r\n\r\n";
$message .= "Kind regards," . "\r\n";
$message .= "Support Team" . "\r\n";
$wp_new_user_notification_email['message'] = $message;
$wp_new_user_notification_email['headers'] = 'From: MyName<[email protected]>';
// this just changes the sender name and email to whatever you want (instead of the default WordPress <[email protected]>
return $wp_new_user_notification_email;
}
?>
なぜコードは、動作しませんか?手伝ってくれませんか?
実際にあなたが持っているコードに問題はありません(私はあなたが上に持っているのでそれをテストしました、そしてそれはうまく動きます)。
しかし、いくつかの追加の可能性を考慮する必要があります。
wp_new_user_notification()
関数はプラグイン可能な関数です。そのため、プラグインやカスタムコードに置き換えることができます。そしてそれが置き換えられた場合、関数のカスタムバージョンはwp_new_user_notification_email
フィルタフックを欠いている可能性があります。wp_new_user_notification()
を通過するわけではありません。これらの可能性があるので、私はあなたが以下をすることを勧めます:
wp_new_user_notification_email
フィルタの唯一のインスタンスであることを確認してください。