Переместите банковские реквизиты BACS после сведений о клиенте в электронных письмах WooCommerce

как я могу переместить банковские реквизиты BACS в почтовый шаблон Woocommerce customer-processing-order.php.

Я хочу удалить/переместить его из

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

И и это после

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

Но только банковские реквизиты, а не другие вещи из действия order_details?


person Monkey D. Luffy    schedule 21.01.2021    source источник
comment
Некоторые отзывы об ответе ниже будут высоко оценены, пожалуйста.   -  person LoicTheAztec    schedule 24.01.2021


Ответы (1)


Невозможно настроить таргетинг на конкретное уведомление по электронной почте… Теперь, чтобы переместить банковские реквизиты BACS из уведомлений по электронной почте Woocommerce после сведений о клиенте, используйте следующее:

add_action( 'init', 'move_bacs_bank_details', 1000 );
function move_bacs_bank_details() {
    if ( class_exists( 'WC_Payment_Gateways' ) ) {
        $gateways = WC_Payment_Gateways::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 );
            add_action( 'woocommerce_email_customer_details', array( $available_gateways['bacs'], 'email_instructions' ), 30, 3 );
        }
    }
}

Код находится в файле functions.php активной дочерней темы (или активной темы). Проверено и работает.

person LoicTheAztec    schedule 21.01.2021