Woocommerce基于产品变化属性的新订单电子邮件的其他收件人

时间:2020-03-26 23:11:13

标签: woocommerce

您好,这是我在这里的第一个问题,请耐心等待。 我有一个Woocommerce(3.4.4)网上商店,如果订单中的产品具有特定的变体属性,我想向新订单电子邮件中添加收件人。假设颜色为深蓝色,请添加电子邮件地址1,颜色为浅绿色时,请添加电子邮件地址2。

我发现一个函数,它做了一些修改: Adding recipients to Woocommerce email notifications based on product variation term

但是它根本不起作用。我无法找出为什么该脚本没有按预期执行操作。预先感谢您的帮助!

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

    // Additional email recipient
    $additional_email1 = "email1@provider.nl";
    $additional_email2 = "email2@provider.nl";

    // The term slug
    $term_slug1 = "dark-blue";
    $term_slug2 = "light-green";

    $has_term = false;

    // Iterating through each order item
    foreach ($order->get_items() as $item_id => $item_obj) {
        $variation_id = $item_obj->get_variation_id();
        $variation_obj = wc_get_product($variation_id);
        $variation_attributes = $variation_obj->get_attributes();
        foreach( $variation_attributes as $taxonomy_key => $term_value ){

            if( $taxonomy_key == "pa_color" && $term_value == $term_slug1 ){
                $recipient .= ','. $additional_email1;
                $has_term = true;
                break; // stop searching
            }

            if( $taxonomy_key == "pa_color" && $term_value == $term_slug2 ){
                $recipient .= ','. $additional_email2;
                $has_term = true;
                break; // stop searching
            }
        }
        if( $has_term ) break; // stop the main loop
    }
    return $recipient;
}

0 个答案:

没有答案