我正在使用 Wordpress 和 Woocommerce 构建一个电子商务网站。我需要网站在注册新客户帐户时向网站管理员发送通知电子邮件。我认为此功能将内置到 Woocommerce 中,因为它使用 Wordpress 用户帐户结构,并且 Wordpress 会发送新用户通知,但似乎并非如此。有谁知道我可以用来添加此功能的插件或功能?谢谢!
5 回答
我假设您在电子邮件中使用 html。如果您使用纯文本,则过程类似。
您需要覆盖 woocommerce 模板结构。在这里您可以找到方法:http ://docs.woothemes.com/document/template-structure/ 。
实际上,您需要覆盖的唯一文件是 your_template_directory/woocommerce/emails/customer-new-account.php。
在这个文件的最后添加这行代码:
<?php do_action( 'new_customer_registered', $user_login ); ?>
在functions.php中添加:
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
是 woocommerce 创建用户时调用的钩子。它只向客户发送通知。我们将使用 wp_new_user_notification() 函数向管理员发送通知。
the answers is in the emails sections of "woocommerce / settings
"
simply change the from email to wordpress@yourdomain.com
worked for me as i also had the same issues
我一直在努力解决同样的问题,在与开发人员反复讨论后,默认设置是不向管理员发送新的客户注册通知电子邮件。
在尝试了各种电子邮件插件,甚至求助于使用 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/上的文档