【问题标题】:Remove bank account details from new order email in WooCommerce从 WooCommerce 中的新订单电子邮件中删除银行帐户详细信息
【发布时间】:2019-08-24 09:40:06
【问题描述】:

也许你可以帮我解决这个问题。如果客户选择使用信用卡付款,我需要从新订单电子邮件中删除银行帐户信息 (BACS),如果他们选择直接银行转账,我需要保留它。现在,信息出现在两封电子邮件中。 (信用卡支付和直接转账)。我正在使用此代码:

// Add your own action for the bank instructions
 add_action( 'woocommerce_email_before_order_table', 
 'prefix_email_instructions', 9, 3 );
 function prefix_email_instructions( $order, $sent_to_admin, $plain_text = 
 false ) {
// Get the gateway object
$gateways           = WC_Payment_Gateways::instance();
$available_gateways = $gateways->get_available_payment_gateways();
$gateway            = isset( $available_gateways['bacs'] ) ? 
 $available_gateways['bacs'] : false;

// We won't do anything if the gateway is not available
if ( false == $gateway ) {
    return;
}

// Add only the email instructions
if ( ! $sent_to_admin && 'bacs' === $order->payment_method && $order- 
>has_status( 'on-hold' ) ) {
    if ( $gateway->instructions ) {
        echo wpautop( wptexturize( $gateway->instructions ) ) 
. PHP_EOL;
    }
}
}

// Remove the original bank details
add_action( 'init', 'prefix_remove_bank_details', 100 );
function prefix_remove_bank_details() {

// Do nothing, if WC_Payment_Gateways does not exist
if ( ! class_exists( 'WC_Payment_Gateways' ) ) {
    return;
}

// Get the gateways instance
$gateways           = WC_Payment_Gateways::instance();

// Get all available gateways, [id] => Object
$available_gateways = $gateways->get_available_payment_gateways();

if ( isset( $available_gateways['bacs'] ) ) {
    // If the gateway is available, remove the action hook
    remove_action( 'woocommerce_email_before_order_table', array( 
$available_gateways['bacs'], 'email_instructions' ), 10, 3 );
}
}

但信息仍然存在。知道如何解决这个问题吗?

【问题讨论】:

  • 来自@mujuonly 的无用版本。只是改变一些大写字母并删除最后的“谢谢”? :P
  • 你想恢复它吗?
  • 没有朋友,但它的版本很没用。我可以理解您或其他人是否编辑了代码或其他有用的东西,但不是几个大写字母,并删除了我帖子末尾的“谢谢”。 (寻求帮助的人和愿意帮助的人之间的礼貌只是礼貌)。 :)
  • 请查看以下答案

标签: php wordpress woocommerce payment bank


【解决方案1】:

这行代码就足够了。它将取消设置邮件中的帐户详细信息。

add_filter('woocommerce_bacs_accounts', '__return_false');

【讨论】:

  • 嗨。看,你是个好人。但是,如果客户选择使用该代码的直接传输,则不会出现 BACS 信息。谢谢你的伙伴:)
猜你喜欢
  • 2021-04-25
  • 1970-01-01
  • 2023-01-16
  • 1970-01-01
  • 2018-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多