1
我想從Woocommerce BACS網關謝謝您的頁面和電子郵件中刪除「我們的銀行信息」和付款指示。刪除行動'woocommerce_email_before_order_table'不起作用
我知道這應該通過刪除woocommerce_thankyou_bacs和woocommerce_email_before_order_table操作來完成。
我設法從thankyou頁面中刪除郵件,但它仍然出現在電子郵件中。我檢查了woocommerce_thankyou_bacs和woocommerce_email_before_order_table都從wp_filter全局中刪除。
我依靠的是我從這裏複製的一個函數:http://wpquestions.com/question/showChrono/id/9204,由於具有類似的remove_action問題,因爲不同的唯一ID而無法工作,並且它的工作方式使得這些操作從wp_filter global中消失。
我已經嘗試了各種優先級,0-20,謝謝你的頁面消息已經消失,但電子郵件仍然顯示付款說明。
我的代碼如下:
add_action('woocommerce_thankyou_bacs', function() {
if(function_exists('wc_gateway_remove_hook')) {
//Remove BACS payment instructions from thankyou page <- WORKS!
wc_gateway_remove_hook('WC_Gateway_BACS', 'woocommerce_thankyou_bacs', 'thankyou_page');
//Remove BACS payment instructions from email <- DOESN'T WORK!
wc_gateway_remove_hook('WC_Gateway_BACS', 'woocommerce_email_before_order_table', 'email_instructions');
}
}, 10);
function wc_gateway_remove_hook($classname, $hook, $callback) {
foreach((array) $GLOBALS['woocommerce']->payment_gateways->payment_gateways as $key => $gateway_obj) {
if($classname === get_class($gateway_obj)) {
remove_action($hook, array($gateway_obj, $callback));
}
}
}