【问题标题】:Email recipients based on Shipping method Id for Woocommerce new order notification基于 Woocommerce 新订单通知的配送方式 ID 的电子邮件收件人
【发布时间】:2019-01-17 00:19:50
【问题描述】:

在 Woocommerce 中,我希望根据所选的运输方式 ID 向特定人员发送新的订单电子邮件。

目前,我只能将每个电子邮件地址添加到新订单电子邮件中,但最终希望根据客户选择的运输方式 ID 将电子邮件发送到一个特定的电子邮件。

这是我的代码coming from this answer,适用于邮政编码:

add_filter( 'new_order' , 'so_26429482_add_recipient', 20, 2 );

function so_26429482_add_recipient( $email, $order ) {
    $additional_email = "somebody@somewhere.net";
    if( $order->shipping_postcode == "90210" ){
        $email = explode( ',', $email );
        array_push( $email, $additional_email );
    }
    return $email;
}

相反,我需要定位运输方式 ID

我的两种送货方式 ID 是 flat_rate:8flat_rate:9

有人知道怎么做吗?

【问题讨论】:

  • 您好,欢迎您! “有人知道怎么做吗?” 可能,但请先分享一下 have tried,以便我们提供帮助。

标签: php woocommerce shipping orders email-notifications


【解决方案1】:

更新 2 - 您的代码已过时,因为 new_order 挂钩不再退出。

无法删除新订单电子邮件通知中设置的默认电子邮件。但我们可以根据订单发货方式 ID 有条件地将其他电子邮件收件人添加到新订单电子邮件通知中:

add_filter( 'woocommerce_email_recipient_new_order', 'new_order_additional_recipients', 20, 2 );
function new_order_additional_recipients( $recipient, $order ) {
    if ( ! is_a( $order, 'WC_Order' ) ) return $recipient;

    // Set Below your email adresses
    $email1 = 'name1@domain.com';
    $email2 = 'name2@domain.com';

    // Get the shipping method Id
    $shipping_items = $order->get_items('shipping');
    $shipping_item  = reset($shipping_items);
    $shipping_method_id  = $shipping_item->get_method_id() . ':';
    $shipping_method_id .= $shipping_item->get_instance_id();

    // Adding recipients conditionally
    if ( 'flat_rate:8' == $shipping_method_id )
        $recipient .= ',' . $email1;
    elseif ( 'flat_rate:9' == $shipping_method_id )
        $recipient .= ',' . $email2;

    return $recipient;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件中。经过测试并且有效。

【讨论】:

  • 区域名称是 flat_rate:8 和 flat_rate:9,在你的示例中我应该把它放在哪里?
  • 我很抱歉,这就是我的意思。运输方式是 flat_rate:8 和 flat_rate:9。
  • 我在那个服务器上收到内部服务器错误...想法?
猜你喜欢
  • 2019-01-12
  • 2018-07-04
  • 2019-02-01
  • 2019-05-30
  • 2019-08-28
  • 2019-12-27
  • 1970-01-01
  • 2021-12-23
相关资源
最近更新 更多