禁用特定产品的 WooCommerce 电子邮件通知

jjj*_*jjj 1 notifications woocommerce hook-woocommerce

我可以参考这个功能来禁用电子邮件通知:https : //docs.woocommerce.com/document/unhookremove-woocommerce-emails/

但我只想为特定产品禁用它,或者,如果可以更简单,为特定产品类别禁用它。

谢谢你的帮助

jjj*_*jjj 5

感谢@vidish-purohit 的帮助!

如果您需要禁用特定产品的管理员电子邮件通知,请使用以下代码:

function change_email_recipient_depending_of_product_id( $recipient, $order ) {
    global $woocommerce;
    $items = $order->get_items();
    foreach ( $items as $item ) {
        $product_id = $item['product_id'];
        if ( $product_id == xxx ) {
            $recipient = '';
        }
        return $recipient;
    }
}
add_filter( 'woocommerce_email_recipient_new_order', 'change_email_recipient_depending_of_product_id', 10, 2 );
Run Code Online (Sandbox Code Playgroud)

如果您需要禁用特定产品的客户电子邮件通知:

function change_email_recipient_depending_of_product_id( $recipient, $order ) {
    global $woocommerce;
    $items = $order->get_items();
    foreach ( $items as $item ) {
        $product_id = $item['product_id'];
        if ( $product_id == xxx ) {
            $recipient = '';
        }
        return $recipient;
    }
}
add_filter( 'woocommerce_email_recipient_customer_processing_order', 'change_email_recipient_depending_of_product_id', 10, 2 );
Run Code Online (Sandbox Code Playgroud)