You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce:购物车金额低于20美元时移除PayPal Express按钮

解决购物车金额低于20美元时移除PayPal Express Checkout按钮的问题

你之前尝试的remove_action无效,核心原因是PayPal按钮的挂载钩子、回调函数名或优先级和你写的不匹配——不同PayPal插件的实现逻辑有差异,下面分常见场景给出可行方案:

场景1:使用官方WooCommerce PayPal Payments插件

该插件的购物车PayPal按钮通过类方法挂载,而非简单的函数名,代码如下:

function disable_checkout_and_paypal_buttons() {
    $minimum = 20;
    $total = WC()->cart->cart_contents_total;
    
    if ( $total < $minimum ) {
        // 移除默认结账按钮
        remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
        
        // 移除PayPal Payments插件的购物车按钮
        global $woocommerce_paypal_payments;
        if ( isset( $woocommerce_paypal_payments ) ) {
            remove_action( 'woocommerce_proceed_to_checkout', array( $woocommerce_paypal_payments, 'render_cart_button' ), 10 );
        }
    }
}
// 晚于插件挂载时机执行,设置更高优先级
add_action( 'woocommerce_proceed_to_checkout', 'disable_checkout_and_paypal_buttons', 20 );

场景2:使用老版WooCommerce PayPal Express Checkout插件

老版本插件的按钮通常挂载在woocommerce_proceed_to_checkout或woocommerce_cart_actions钩子,回调函数为wc_paypal_express_checkout_cart_button,代码如下:

function disable_checkout_and_paypal_buttons() {
    $minimum = 20;
    $total = WC()->cart->cart_contents_total;
    
    if ( $total < $minimum ) {
        // 移除默认结账按钮
        remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
        
        // 移除老版PayPal Express按钮
        remove_action( 'woocommerce_proceed_to_checkout', 'wc_paypal_express_checkout_cart_button', 20 );
        // 若上面无效,尝试这个钩子
        remove_action( 'woocommerce_cart_actions', 'wc_paypal_express_checkout_cart_button', 20 );
    }
}
// 确保优先级高于插件的挂载优先级
add_action( 'woocommerce_proceed_to_checkout', 'disable_checkout_and_paypal_buttons', 25 );

通用排查技巧

如果以上方案都不生效,可自行定位按钮的挂载逻辑:

  1. 右键检查购物车页面的PayPal按钮,找到它的专属HTML类名(如paypal-button-container)
  2. 在主题/插件代码中搜索该类名,找到输出按钮的函数
  3. 查看该函数对应的add_action钩子和优先级,再用对应的remove_action移除

将上述代码添加到主题的functions.php文件或自定义插件中即可生效。

内容的提问来源于stack exchange,提问作者Cray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 15:48:28