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

WooCommerce如何用&&运算符同时判断尺寸与红色颜色属性显示内容

问题原因

代码失效是因为is_tax()函数的传参规则使用错误:
is_tax()的第一个参数接收自定义分类法名称,第二个可选参数接收对应分类法下的term值(别名/ID/名称均可),你将pa_color分类法和red术语值都放在第一个参数的数组中,判断逻辑自然无法命中。

修复后代码

如果你的触发场景和原有代码一致,在分类法存档页生效,直接修正is_tax的传参即可:

add_action( 'woocommerce_before_main_content','show_something', 5 );
function show_something() {
  // 同时满足当前是pa_size分类存档,且当前pa_color分类存档的term值为red
  if ( is_tax('pa_size') && is_tax('pa_color', 'red') ) {
    echo "<h2>Hello World</h2>";
  }
}

如果你使用的是URL参数筛选(如页面地址带?filter_pa_color=red)而非原生分类存档页,可将判断条件替换为:

if ( is_tax('pa_size') && get_query_var('filter_pa_color') === 'red' )

产品详情页适配

如果你实际需要在产品详情页判断当前产品同时存在pa_size属性、且pa_color属性值为red,可使用如下代码:

add_action( 'woocommerce_before_main_content','show_something', 5 );
function show_something() {
  // 非产品详情页直接终止逻辑
  if ( ! is_product() ) return;
  global $product;
  $color_val = $product->get_attribute('pa_color');
  if ( $product->get_attribute('pa_size') && $color_val === 'red' ) {
    echo "<h2>Hello World</h2>";
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:06:03