我正在使用WordPress和WooCommerce构建电子商务网站。当新客户账户注册时,我需要网站向管理员发送通知电子邮件。我以为这个功能已经内置在WooCommerce中,因为它使用WordPress用户帐户结构并且WordPress会发送新用户通知,但似乎不是这样。有人知道可以用哪个插件或函数来添加此功能吗?谢谢!
我正在使用WordPress和WooCommerce构建电子商务网站。当新客户账户注册时,我需要网站向管理员发送通知电子邮件。我以为这个功能已经内置在WooCommerce中,因为它使用WordPress用户帐户结构并且WordPress会发送新用户通知,但似乎不是这样。有人知道可以用哪个插件或函数来添加此功能吗?谢谢!
<?php do_action( 'new_customer_registered', $user_login ); ?>
function new_customer_registered_send_email_admin($user_login) {
ob_start();
do_action('woocommerce_email_header', 'New customer registered');
$email_header = ob_get_clean();
ob_start();
do_action('woocommerce_email_footer');
$email_footer = ob_get_clean();
woocommerce_mail(
get_bloginfo('admin_email'),
get_bloginfo('name').' - New customer registered',
$email_header.'<p>The user '.esc_html( $user_login ).' is registered to the website</p>'.$email_footer
);
}
add_action('new_customer_registered', 'new_customer_registered_send_email_admin');
add_action('woocommerce_created_customer', 'admin_email_on_registration', 10 , 1);
function admin_email_on_registration( $customer_id) {
wp_new_user_notification( $customer_id );
}
woocommerce_created_customer
是一个钩子(hook),当用户被 WooCommerce 创建时会调用它。它只向客户发送通知。我们将使用 wp_new_user_notification()
函数向管理员发送通知。
woocommerce / settings
"中的答案在邮件部分。尝试了各种电子邮件插件,甚至使用WP SMTP电子邮件,最终我决定放弃。
话虽如此,WooCommerce 2.0今天发布,可能在新版本中内置了该功能。
当新用户注册时,使用以下方式通知管理员:
add_action( 'woocommerce_created_customer', 'woocommerce_created_customer_admin_notification' );
function woocommerce_created_customer_admin_notification( $customer_id )
{
wp_send_new_user_notifications( $customer_id, 'admin' );
}
请查看https://woocommerce.com/document/notify-admin-new-account-created/上的文档。