亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

隱藏來自 WooCommerce 電子郵件已完成訂單通知的付款說明

隱藏來自 WooCommerce 電子郵件已完成訂單通知的付款說明

PHP
斯蒂芬大帝 2021-06-27 09:59:08
在我的 woocommerce 商店中,我激活了付款說明,它們顯示在所有電子郵件通知中。我有以下代碼(取自另一個答案),刪除了“COD”付款方式的付款說明: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['cod'] ) )        remove_action( 'woocommerce_email_before_order_table', array( $available_gateways['cod'], 'email_instructions' ), 10, 3 );}, 1 );它全局應用于所有電子郵件通知,我只需要從“客戶完成的訂單”電子郵件通知中刪除付款說明。任何幫助表示贊賞。
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

您的代碼有點過時(或舊)并且您錯過了鉤子函數參數,這將允許您定位“客戶完成的訂單”電子郵件通知。請嘗試以下操作:


add_action( 'woocommerce_email_before_order_table', 'action_email_before_order_table_callback', 9, 4 );

function action_email_before_order_table_callback( $order, $sent_to_admin, $plain_text, $email ){

    $payment_method = $order->get_payment_method();


    // Targeting "COD" payment method on Customer completed order email notification

    if ( 'customer_completed_order' === $email->id && 'cod' === $payment_method ) {

        $available_gateways = WC()->payment_gateways->get_available_payment_gateways();


        remove_action( 'woocommerce_email_before_order_table', [ $available_gateways[$payment_method], 'email_instructions' ], 10 );

    }

}

代碼位于活動子主題(或活動主題)的 functions.php 文件中。測試和工作。


查看完整回答
反對 回復 2021-07-09
  • 1 回答
  • 0 關注
  • 200 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號