Здравствуйте, это мой первый вопрос здесь, поэтому, пожалуйста, потерпите меня. У меня есть интернет-магазин 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;
}