最近测试 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() 函数直接发邮件。