【问题标题】:Remove Checkout Terms & Conditions conditionally in WooCommerce在 WooCommerce 中有条件地删除结帐条款和条件
【发布时间】:2020-09-11 22:55:08
【问题描述】:

如果没有可用的支付网关,我想在结帐时删除 Woocommerce 隐私政策文本以及条款和条件。

这是我尝试过的代码

add_action('woocommerce_checkout_terms_and_conditions', 'disable_woocommerce_checkout_options', 10 );
function disable_woocommerce_checkout_options(){
    if ( empty( $available_gateways ) ) {
            remove_action( 'woocommerce_checkout_terms_and_conditions', 'wc_checkout_privacy_policy_text', 20 );
            remove_action( 'woocommerce_checkout_terms_and_conditions', 'wc_terms_and_conditions_page_content', 30 );
        }
}

即使有可用的支付网关,这也会完全删除隐私政策和条款和条件。

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce checkout


    【解决方案1】:

    变量$available_gateways 未定义,woocommerce_checkout_init 是要使用的正确挂钩。请尝试以下操作:

    add_action('woocommerce_checkout_init', 'disable_checkout_terms_and_conditions', 10 );
    function disable_checkout_terms_and_conditions(){
        // Get available payment gateways
        $available_gateways = WC()->payment_gateways->get_available_payment_gateways();
        
        if ( empty( $available_gateways ) ) {
            remove_action( 'woocommerce_checkout_terms_and_conditions', 'wc_checkout_privacy_policy_text', 20 );
            remove_action( 'woocommerce_checkout_terms_and_conditions', 'wc_terms_and_conditions_page_content', 30 );
        }
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。

    相关:Remove some hooked functions based on virtual products in WooCommerce Checkout

    【讨论】:

      猜你喜欢
      • 2012-11-19
      • 2023-03-05
      • 1970-01-01
      • 2018-07-24
      • 2018-05-23
      • 2017-10-29
      • 1970-01-01
      • 2016-09-03
      • 1970-01-01
      相关资源
      最近更新 更多