class Custom_admin_notification {
function __construct() {
add_action( 'woocommerce_created_customer', array($this, 'woocommerce_created_customer_admin_notification') );
add_filter( 'wp_new_user_notification_email_admin', array($this, 'custom_wp_new_user_notification_email'), 10, 3 );
}
function woocommerce_created_customer_admin_notification( $customer_id ) {
wp_send_new_user_notifications( $customer_id, null, 'both' ); // wp_new_user_notification下のラッパー挙動?
wp_new_user_notification( $customer_id ); // OLD 稼働
}
function custom_wp_new_user_notification_email( $wp_new_user_notification_email, $user, $blogname ) {
$subject = wp_specialchars_decode( $get_option('blogname') . '|新規アカウント作成の通知' ); //件名
$message .= $user->display_name . ' のアカウントが作成されました。' . "\r\n\r\n"; //サイト表示名
$message .= 'User名 : ' . $user->user_login . "\r\n"; //ユーザー名
$message .= 'E-mail : ' . $user->user_email . "\r\n"; //ユーザーメールアドレス
$wp_new_user_notification_email['message'] = $message;
// $wp_new_user_notification_email['headers'] = 'From: *****サイト名<account@domain.com>'; /* default WordPress <wordpress@domain.ext> */
$wp_new_user_notification_email['headers'] = 'From: ' . get_option( 'admin_email' ); // サイト管理者登録メールアドレス
return $wp_new_user_notification_email;
}
}
new Custom_admin_notification;
WooCommerce構築上にて、顧客ユーザー登録のみ時メール内容を変更する場合、WooCommerce側ではなくWordPress本体側のカスマイズとなる。Ver 6.1よりWordPress内部仕様変更がありそこで、変更の部分をVer変更仕様後管理者へのメールが届かなくなったてのである。
wp_send_new_user_notificationsのラップ関数を追加後どうにも駄目で、旧式wp_new_user_notificationを追加した処正常に送信された。
上記codeはユーザー登録管理者メール内容、汚い箇所もあるが自分の覚書として残しておくので、ご了承頂きたい。
※ 尚、他のサイトへのコピペは厳禁(何をしているのか理解出来ない人)