如果是重复客户,我想在WooCommerce“新订单”电子邮件通知中注明。
这似乎很简单,但我尝试了5种不同的方法,但都没有效果。我已经尝试将它放入2个不同的钩子中:
woocommerce_email_after_order_table
woocommerce_email_subject_new_order
。看起来像wc_get_customer_order_count($user->ID)
应该工作,但似乎$user
对象没有传递到那些钩子的函数,对吧?
我也想知道这是否可能当它是客人而不是注册用户时,可能通过比较电子邮件地址?
谢谢
WooCommerce电子邮件通知与订单相关。
在woocommerce_email_after_order_table
钩子中,您将Order对象作为钩子自定义函数中的参数以及$email
对象。
使用那个$order
对象,你可以这样得到user ID
:
$user_id = $user_id = $order->get_user_id();
从$email
对象,您可以定位新订单电子邮件通知。
所以工作代码将是:
add_action( 'woocommerce_email_after_order_table', 'customer_order_count', 10, 4);
function customer_order_count( $order, $sent_to_admin, $plain_text, $email ){
if ( $order->get_user_id() > 0 ){
// Targetting new orders (that will be sent to customer and to shop manager)
if ( 'new_order' == $email->id ){
// Getting the user ID
$user_id = $order->get_user_id();
// Get the user order count
$order_count = wc_get_customer_order_count( $user_id );
// Display the user order count
echo '<p>Customer order count: '.$order_count.'</p>';
}
}
}
你也可以使用woocommerce_email_before_order_table
钩子代替......
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
此代码经过测试和运行。