从WooCommerce中的电子邮件通知中删除BACS指令

时间:2017-08-04 22:26:40

标签: php wordpress woocommerce payment-gateway email-notifications

在我的WooCommerce网上商店,我启用了付款方式"直接银行转帐"

Woocommerce - > Settings - > Checkout - > BACS有一个名为"指令" 的字段。此文本字段已添加到谢谢页面,这很好。
但它也被添加到 costumer-order-completed-email 中,这是我不想要的。

我已经尝试了解负责电子邮件通知的文件,但我无法避免显示此"说明"文本。

如何删除"说明"电子邮件通知中BACS支付网关的文字?

2 个答案:

答案 0 :(得分:2)

使用挂钩在woocommerce_email_order_details动作挂钩中的自定义功能,该功能会删除电子邮件通知中的直接银行转帐(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 +

答案 1 :(得分:0)

你可以在第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