今天我們來看看 WooCommerce Checkout 頁面,特別是在選擇特定的運送方式時如何禁用支付閘道器。請享用!

WooCommerce:禁用特定運送方式的付款閘道器

WooCommerce 2.6+

  /**   * @snippet       Disable Payment Gateway For Specific Shipping Method     * @sourcecode    https://businessbloomer.com/?p=19867   * @author        Rodolfo Melogli   * @testedwith    WooCommerce 3.1.1   */    // Disable 'cod' gateway for 'local_pickup' shipping method    function bbloomer_gateway_disable_shipping_30( $available_gateways ) {  global $woocommerce;  $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );  $chosen_shipping = $chosen_methods[0];  if ( isset( $available_gateways['cod'] ) && 0 === strpos( $chosen_shipping, 'local_pickup' ) ) {  unset( $available_gateways['cod'] );  }  return $available_gateways;  }    add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_gateway_disable_shipping_30' );    

WooCommerce 低於 2.6

  /**   * @snippet       Disable Payment Gateway For Specific Shipping Method     * @sourcecode    https://businessbloomer.com/?p=19867   * @author        Rodolfo Melogli   * @testedwith    WooCommerce 2.5.2   */    // Disable 'cod' gateway for 'local_delivery' shipping method    function bbloomer_gateway_disable_shipping( $available_gateways ) {  global $woocommerce;  $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );  $chosen_shipping = $chosen_methods[0];  if ( isset( $available_gateways['cod'] ) && $chosen_shipping == 'local_delivery' ) {  unset( $available_gateways['cod'] );  }  return $available_gateways;  }    add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_gateway_disable_shipping' );    


可以在哪裡新增此程式碼?

您可以將 PHP 程式碼片段放置在主題或子主題的 functions.php 檔案的底部(如果是 CSS 程式碼,請新增到主題的 style.css 檔案底部),修改之前建議先備份原始檔案,若出現錯誤請先刪除此程式碼。


這段程式碼是否正常可用?

或者是您有更好的解決方案想要分享?請到薇曉朵 WooCommerce 中文論壇留言告知,我們希望可以幫到更多國內的 WooCommerce 使用者也希望您的參與。


需要關於 WooCommerce 的幫助?

請觀看我們提供的免費影片教程或到薇曉朵 WooCommerce 中文論壇提問,會有專業技術團隊提供相關幫助。