Skip to content

Instantly share code, notes, and snippets.

@vanbo
Last active June 3, 2023 18:11
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vanbo/6adcc700c13fa8a746d8 to your computer and use it in GitHub Desktop.
Save vanbo/6adcc700c13fa8a746d8 to your computer and use it in GitHub Desktop.
Remove bank details from WC order email. Place in functions.php
// 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 );
}
}
@NVMDSN
Copy link

NVMDSN commented Apr 2, 2019

Hello. My friend, I need to remove the bacs info from the email if the client select credit card option and leave it if they select direct transfer. This code will work for me in that case? I'm sorry, I'm new in this. Thank you :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment