Woocommerce дополнительный получатель на новый электронный адрес заказа на основе атрибута варианта продукта - PullRequest
0 голосов
/ 27 марта 2020

Здравствуйте, это мой первый вопрос здесь, поэтому, пожалуйста, потерпите меня. У меня есть интернет-магазин Woocommerce (3.4.4), и я хотел бы добавить получателя к электронному письму о новом заказе, если у продукта в заказе есть определенный c атрибут вариации. Допустим, что цвет темно-синий, добавьте адрес электронной почты 1, а когда цвет светло-зеленый, добавьте адрес электронной почты 2.

Я нашел функцию, которая немного изменилась: Добавление получателей к уведомлениям по электронной почте Woocommerce на основе на срок изменения продукта

Но это просто не работает. Я не могу понять, почему этот скрипт не делает то, что должен делать. Заранее спасибо за помощь!

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...