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

WordPress如何判断自定义property文章是否关联features分类法术语

问题原因

has_term() 函数调用时缺少必填的第二个参数:自定义分类法名称features,同时也建议显式传入当前文章ID作为第三个参数,避免全局上下文异常导致判断错误。你原先的写法没有指定分类法,函数无法识别你要判断的是自定义分类features下的术语关联关系,因此所有判断都返回false,全部显示为未关联状态。

修正后的完整代码

// 单页上下文下先获取全局文章对象,保证判断目标正确
global $post;

// 获取所有features分类下的术语,这部分原代码逻辑没问题
$features = get_terms([
    'taxonomy' => 'features',
    'hide_empty' => false,
]);

foreach ($features as $feature) :
    // 补全三个参数:术语ID、所属分类法、目标文章ID
    if (has_term($feature->term_id, 'features', $post->ID)) {
        echo '<code>✓ ' . esc_html($feature->name) . '</code> ';
    } else {
        echo '<code>X ' . esc_html($feature->name) . '</code> ';
    }
endforeach;

补充说明

  • 用$feature->term_id作为判断依据比直接传$feature对象更稳妥,避免不同WordPress版本的兼容性问题
  • 输出术语名称时加esc_html()转义,是WordPress标准的安全输出做法,避免XSS漏洞
  • 输出时直接包裹<code>标签,即可实现你需要的展示效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:36:05