最近測試 WooCommerce,發現當有新用户註冊時沒有管理員通知,感覺這是個很實用的功能,不明白為什麼沒有。找了一些方案,發現下面這個可用。

在主題的 functions.php 中放如下代碼

//New user notification to admin
// WooCommerce New Customer Admin Notification Email
add_action('WooCommerce_created_customer', 'admin_email_on_registration');
function admin_email_on_registration( $customer_id ) {
    wp_new_user_notification( $customer_id );
}

郵件通知會發送到設置 » 常規 » 電子郵件地址中填寫的 Email 。

代碼來自:WooCommerce new registration not sending email to admin

該 action 在 wc_create_new_customer() 函數總調用,原型如下

do_action( 'WooCommerce_created_customer', $customer_id, $new_customer_data, $password_generated );

$new_customer_data 的數據類似下面這樣

Array
(
    [user_login] => test3
    [user_pass] => 111111
    [user_email] => test3@email.com
    [role] => customer
)

如果想發送定製化的郵件,包含更多信息,可以自己用 wp_mail() 函數直接發郵件。