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

如何在WooCommerce中为特定商品隐藏购物车‘移除商品’按钮

嘿,这个需求我刚好处理过,给你几个靠谱的实现方法,按需选择就行:

方法1:通过PHP代码精准控制(推荐)

这种方法最稳妥,能精准只针对目标商品隐藏移除按钮,完全不影响其他商品。步骤如下:

  1. 先找到你要设置的商品ID:打开商品编辑页面,看浏览器地址栏里的post=xxx,那个xxx就是商品ID(比如post=123,ID就是123)
  2. 把下面的代码添加到你的WordPress主题的functions.php文件里,或者用「Code Snippets」这类代码片段插件(更安全,避免主题更新丢失代码):
add_filter( 'woocommerce_cart_item_remove_link', 'hide_remove_button_for_specific_product', 10, 2 );
function hide_remove_button_for_specific_product( $link, $cart_item_key ) {
    global $woocommerce;
    $cart_item = $woocommerce->cart->cart_contents[ $cart_item_key ];
    // 把这里的123替换成你的目标商品ID
    $target_product_id = 123;
    
    // 如果当前购物车项是目标商品,就返回空字符串(移除按钮就没了)
    if ( $cart_item['product_id'] == $target_product_id ) {
        return '';
    }
    // 其他商品正常显示移除按钮
    return $link;
}

如果是变体商品,你要针对某个特定变体隐藏的话,把判断条件改成$cart_item['variation_id'] == 你的变体ID就行。

方法2:用CSS快速隐藏(适合临时需求)

如果你不想碰PHP代码,用CSS也能快速实现,适合临时场景:

  1. 打开购物车页面,右键点击要隐藏的移除按钮,选择「检查」,找到该购物车项的data-product_id属性(比如data-product_id="123")
  2. 把下面的CSS代码添加到「外观 → 自定义 → 额外CSS」里:
/* 替换123为你的商品ID */
.cart_item[data-product_id="123"] .remove {
    display: none !important;
}

⚠️ 注意:这种方法只是视觉上隐藏,懂点前端的用户可以通过浏览器调试工具恢复显示,所以如果需要彻底禁用移除功能,优先用方法1。

额外注意事项
  • 一定要确认商品ID输入正确,不然会没效果或者影响错商品
  • 用代码片段插件添加PHP代码比直接改functions.php更安全,万一代码写错了,禁用插件就能恢复网站,不会导致白屏
  • 如果你的主题有自定义功能区,也可以把PHP代码放在主题提供的自定义代码框里

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:09:00