如何编写WordPress函数判断自定义分类法术语是否被文章使用
解决方法
直接用WordPress内置的has_term()函数就能精准实现你的需求,这个函数专门用来检查文章是否关联了指定分类法下的特定术语。
实现函数
function check_has_sundry_term( $post_id = null ) { // 未传文章ID时,默认使用当前文章ID if ( !$post_id ) { $post_id = get_the_ID(); } // 检查目标分类法和术语,返回对应结果 return has_term( 'Sundry', 'mytax', $post_id ) ? '是' : '否'; }
使用方式
- 文章循环内调用:直接输出结果
echo check_has_sundry_term(); - 指定文章检查:传入目标文章ID,比如
echo check_has_sundry_term(123);(把123替换成你要验证的文章ID即可)
之前方法失效的原因
- 第一种函数应该是逻辑判断出错,比如没正确指定分类法参数,导致条件恒成立,所以无论啥情况都输出“Yes”。
- 第二种函数用了类似
get_the_terms()的函数,仅获取并输出了所有关联术语,没有做针对性的存在判断,自然满足不了你的需求。
内容的提问来源于stack exchange,提问作者jbuck
相关产品推荐
相关产品推荐

