在Woocommerce中,我试图阻止客户在Woocommerce中的特定产品类别的订单电子邮件。
我试过的是:
add_filter('woocommerce_email_recipient_customer_processing_order', 'wc_change_customer_new_order_email_recipient', 10, 3);
function wc_change_customer_new_order_email_recipient( $recipient, $order ) {
global $woocommerce;
$items = $order->get_items();
$category_ids = array( 10 );
$flagHasProduct = false;
foreach ( $items as $item ) {
$product_id = $item['product_id'];
$terms = get_the_terms( $product_id, 'product_cat' );
foreach ( $terms as $term ) {
if( in_array( $term->term_id, $category_ids ) ) {
$flagHasProduct = true;
}
}
}
if ($flagHasProduct) {
$recipient = "";
}
$recipient = "";
return $recipient;
}
但是这个钩子根本不起作用,任何帮助都不胜感激。
1条答案
按热度按时间kmpatx3s1#
您应该试试这个 (使用
has_term()
WP条件函数):这将避免只有客户“处理”订单的电子邮件通知。
**对于其他客户订单电子邮件通知,**您还必须添加: