WooCommerce订单完成电子邮件通知:限制特定配送方式
P粉327903045
P粉327903045 2023-09-09 13:26:30
0
1
535

我正在尝试仅在客户选择“Retirada no local”(意为现场取货)这种配送方式时禁用已完成订单的电子邮件。

我找到了以下代码,它禁用了除一种之外的所有配送方式的电子邮件 - 这不是我所需要的,但可能会有帮助:

function filter_woocommerce_email_recipient_new_order( $recipient, $order = false ) {   
    if ( ! $order || ! is_a( $order, 'WC_Order' ) ) return $recipient;
    
    // 获取配送方式
    $shipping_method = $order->get_shipping_method();

    // 不等于(注意:这应该根据您网站语言中的配送方式进行调整)
    // 例如:荷兰语中的“Afhalen”等...
    if ( $shipping_method != 'Local Pickup' ) {
        $recipient = '';
    }

    return $recipient;
}
add_filter( 'woocommerce_email_recipient_new_order', 'filter_woocommerce_email_recipient_new_order', 10, 2 );```

P粉327903045
P粉327903045

全部回复(1)
P粉541565322

将您提供的代码版本改为在配送方式为“Retirada no local”时禁用“Order Completed”客户电子邮件的代码

function disable_completed_order_customer_email_for_retirada( $recipient, $order = false ) {   
    if ( ! $order || ! is_a( $order, 'WC_Order' ) ) return $recipient;
    
    // 获取配送方式
    $shipping_method = $order->get_shipping_method();

    // 仅在配送方式为“Retirada no local”时禁用
    if ( $shipping_method === 'Retirada no local' ) {
        $recipient = '';
    }

    return $recipient;
}
add_filter( 'woocommerce_email_recipient_customer_completed_order', 'disable_completed_order_customer_email_for_retirada', 10, 2 );

请注意,您的配送方式必须与短语“Retirada no local”的单词和大写字母完全匹配,才能使此代码生效。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!