У меня есть функция, которая отправляет дополнительные электронные письма на разные адреса электронной почты в зависимости от того, какой продукт куплен. Он работает хорошо, но по-прежнему отправляет электронное письмо о новом заказе на адрес по умолчанию, указанный в Woo. Есть ли способ предотвратить это, чтобы почта о новом заказе попадала только на адреса, указанные в функции ниже?
add_filter( 'woocommerce_email_recipient_new_order', 'custom_email_recipient_new_order', 10, 2 );
function custom_email_recipient_new_order( $recipient, $order ) {
// Not in backend when using $order (avoiding an error)
if( ! is_a($order, 'WC_Order') ) return $recipient;
// Define the email recipients / product Ids pairs
$recipients_product_ids = array(
'product.one@email.com' => array(23),
'product.two@email.com' => array(24),
'product.three@email.com' => array(53, 57),
);
// Loop through order items
foreach ( $order->get_items() as $item ) {
// Loop through defined product categories
foreach ( $recipients_product_ids as $email => $product_ids ) {
$product_id = $item->get_product_id();
$variation_id = $item->get_variation_id();
if( array_intersect([$product_id, $variation_id], $product_ids) && strpos($recipient, $email) === false ) {
$recipient .= ',' . $email;
}
}
}
return $recipient;
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... d-products
Заменить адрес электронной почты WooCommerce для нового заказа на основе приобретенных продуктов ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
PHP Mail Проблема - Уэформенный адрес электронной почты на теле электронной почты
Anonymous » » в форуме Php - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
PHP Mail Проблема - Уэформенный адрес электронной почты на теле электронной почты
Anonymous » » в форуме Php - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
PHP Mail Проблема - Уэформенный адрес электронной почты на теле электронной почты
Anonymous » » в форуме Php - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-