Удаление инструкций BACS из уведомлений по электронной почте в WooCommerce

В моем интернет-магазине WooCommerce я включил способ оплаты «Прямой банковский перевод».

В Woocommerce -> Settings -> Checkout -> BACS есть поле под названием «инструкция». Это текстовое поле добавляется на страницу спасибо, и это хорошо.
Но он также добавлен в письмо о завершении заказа клиента, что мне не нужно.

Я уже пытался разобраться в файлах php, отвечающих за для уведомления по электронной почте, но я понятия не имею, как избежать отображения этого текста «инструкций».

Как я могу удалить текст "инструкции" для платежного шлюза BACS в уведомлении по электронной почте?


person sHamann    schedule 04.08.2017    source источник


Ответы (2)


Использование настраиваемой функции, подключенной к _1 _ действие, которое удалит инструкции прямого банковского перевода (BACS) из уведомлений по электронной почте:

add_action( 'woocommerce_email_before_order_table', function(){
    if ( ! class_exists( 'WC_Payment_Gateways' ) ) return;

    $gateways = WC_Payment_Gateways::instance(); // gateway instance
    $available_gateways = $gateways->get_available_payment_gateways();

    if ( isset( $available_gateways['bacs'] ) )
        remove_action( 'woocommerce_email_before_order_table', array( $available_gateways['bacs'], 'email_instructions' ), 10, 3 );
}, 1 );

Код находится в файле function.php вашей активной дочерней темы (или темы) или также в любом файле плагина.

Этот код протестирован и работает для WooCommerce версии 2.6.x и 3+.

person LoicTheAztec    schedule 06.08.2017
comment
Это сделало свою работу, ты! - person sHamann; 06.08.2017

Вы можете решить это в строке 38

do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email );

Файл: https://github.com/woocommerce/woocommerce/blob/master/templates/emails/customer-completed-order.php

person Rodrigo Sebastián    schedule 04.08.2017
comment
Я зафиксировал строку //do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email ); Но это не повлияло на электронную почту. Я делаю это неправильно? - person sHamann; 05.08.2017