Обновление 2
Фильтр woocommerce_email_recipient_{$email_id}
представляет собой составной хук, и правильный идентификатор электронной почты для установки в нем - customer_on_hold_order
, а не customer_on_hold_order_order
, который не будет работать ...
С объектом WC_Order
, начиная с Woocommerce 3, вам необходимо использовать метод get_payment_method()
.
Чтобы избежать уведомления по электронной почте от клиента на удержании, кроме платежа "Bacs"Использование метода:
add_filter( 'woocommerce_email_recipient_customer_on_hold_order', 'customer_on_hold_order_for_bacs', 10, 2 );
function customer_on_hold_order_for_bacs( $recipient, $order ) {
if( is_a('WC_Order', $order) && $order->get_payment_method() !== 'bacs' ){
$recipient = '';
}
return $recipient;
}
Код находится в файле function.php вашей активной дочерней темы (активной темы).Проверено и работает.