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

WooCommerce如何隐藏优惠券字段但对登录用户可见?

问题解决:仅登录用户可见购物车优惠券字段

原代码存在两个关键问题:

  • 使用了未定义的变量$disabled,PHP会抛出错误导致逻辑失效
  • 逻辑完全颠倒:原本要隐藏未登录用户的优惠券字段,结果写成了登录用户在购物车也无法看到优惠券

修正后的代码如下:

function hide_coupon_field_for_guest_on_cart( $enabled ) {
    // 仅在购物车页面且用户未登录时,禁用优惠券字段
    if ( is_cart() && !is_user_logged_in() ) {
        $enabled = false;
    }
    return $enabled;
}
add_filter( 'woocommerce_coupons_enabled', 'hide_coupon_field_for_guest_on_cart' );

代码说明:

  • 先判断当前是否处于购物车页面(is_cart()),同时用户未登录(!is_user_logged_in())
  • 满足条件时将$enabled设为false,隐藏优惠券输入字段
  • 其他场景(非购物车页面或用户已登录),保持原有优惠券功能的启用状态,不影响正常使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:25:37