WooCommerce: добавление дополнительного получателя электронной почты (новый заказ) в зависимости от почтового индекса

Я хотел бы добавить дополнительных получателей электронной почты в зависимости от почтового индекса клиента. У нас есть разные поставщики для разных провинций (например, 4614 — Поставщик 1, 3314 — Поставщик 2), и необходимо направлять заказы ответственным поставщикам. Для учета мы должны направить новые заказы в ответственный отдел (в настоящее время установлен в бэкэнде WooCommerce).

Я уже пытался использовать фильтр WooCommerce для получателя электронной почты, чтобы добавлять электронные письма на основе почтового индекса. Для этого я настроил два массива и попытался получить почтовый индекс доставки (или почтовый индекс биллинга) для использования в этой функции if.

Это код, который я пытался использовать на нашем Веб-сайт:

add_filter( 'woocommerce_email_recipient_new_order', 'cond_recipients_email_notifications', 10, 2 );
function cond_recipients_email_notifications( $recipient, $order ) {

if ( ! is_a( $order, 'WC_Order' ) ) return $recipient;

// TARGET-ZIP-CODE
$zip_zone1 = array( '4614', '4072', '4615', '4064', '4062', '4611' );
$zip_zone2 = array( '3314', '3353', '3313', '3312', '3350', '3322', '3354' );

// User ZIP-CODE
$user_zip_zone =  $order->get_shipping_postcode();
if(empty($user_shipping_postcode))
$user_zip_zone = $order->get_billing_postcode();

// ADD EMAIL IF ZIP-CODE MATCHES TARGET-ZIP-CODE
if ( in_array( $user_zip_zone, $zip_zone1)) {
$recipient .= ', [email protected]';
} elseif ( in_array( $user_zip_zone, $zip_zone2) ) {
$recipient .= ', [email protected]';
}

return $recipient;
}

Я попытался реализовать этот фрагмент в functions.php моей дочерней темы, но он не работает должным образом. Я явно что-то упускаю, но понятия не имею, в чем может быть моя ошибка. К сожалению, у меня мало опыта работы с php, поэтому мое понимание этого вопроса ограничено.

Кто-нибудь знает способ реализации необходимой функции в WooCommerce или как заставить этот фрагмент кода работать? Что не так с моим кодом?

Помощь очень ценится!

0

Решение

Я получил информацию, что этот код работает правильно. После получения этой информации я проверил настройки моего сервера, и там были некоторые неправильные настройки.

Код работает так, как и должно было быть! Спасибо за помощь!

Не стесняйтесь использовать мой код, возможно, кому-то еще нужно реализовать ту же функцию.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]