Использую фильтр и добавляю получателя(менеджер по конкретному региону).
Значение региона указанного в форме получаем через функцию get_billing_state(); См. на wp-kama по другим полям формы.
Примечание: Регионы добавлены ранее через фильтр woocommerce_states
add_filter( 'woocommerce_email_recipient_new_order', 'add_recipients_email_notifications', 10, 2 );
function add_recipients_email_notifications( $recipient, $order ) {
if ( ! is_a( $order, 'WC_Order' ) ) return $recipient;
// Массив со значениями для проверки. Здесь области. Оказалось, что регионы получает заглавными.
$region1 = array( 'ОМСКАЯ ОБЛАСТЬ', 'ОРЕНБУРГСКАЯ ОБЛАСТЬ', 'РЕСПУБЛИКА МОРДОВИЯ' );
$region2 = array( 'ПЕНЗЕНСКАЯ ОБЛАСТЬ', 'ПЕРМСКИЙ КРАЙ', 'РОСТОВСКАЯ ОБЛАСТЬ');
//Получаем регион доставки.
// У меня поле shiping отключено, поэтому сразу получаю из биллинга без IF
$user_region = $order->get_billing_state();
/* В исходнике проверка была по полю Zip-code get_shipping_postcode;
* $user_zip_zone = $order->get_shipping_postcode();
* if(empty($user_zip_zone)) //если пустое, то получим из биллинга
* $user_zip_zone = $order->get_billing_postcode();
*/
// Добавим получателя, если регион содержится в массиве
if ( in_array( $user_region, $region1)) {
$recipient .= ', manager1@gmail.com'; // первый менеджер
} elseif ( in_array( $user_region, $region2) ) {
$recipient .= ', manager2@gmail.com'; //второй менеджер
}
return $recipient;
}
// Добавляем регионы. Сокращено для удобства
add_filter( 'woocommerce_states', 'custom_woocommerce_states' );
function custom_woocommerce_states( $states ) {
$states['RU'] = array(
'Омская область' => 'Омская область',
'Оренбургская область' => 'Оренбургская область',
'Пензенская область' => 'Пензенская область',
'Пермский край' => 'Пермский край',
'Республика Мордовия' => 'Республика Мордовия',
'Ростовская область' => 'Ростовская область',
);
return $states;
}
Спасибо за по подсказку! 4 дня поисков! С помощью ай-болита удалось найти.
Сайт на джумла, такой-же файл и ссылка именно эта. Причем содержимое файла model.php было в файле advenced.png, в папке расширения для карты сайта /components/com_jmap
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Источник: https://theme-fusion.com/forums/topic/woocommerce-...
Использую фильтр и добавляю получателя(менеджер по конкретному региону).
Значение региона указанного в форме получаем через функцию get_billing_state(); См. на wp-kama по другим полям формы.
Примечание: Регионы добавлены ранее через фильтр woocommerce_states
Исходник