如何在WordPress中同时筛选meta_key为'no'及未设置该键的文章?
实现同时筛选meta_key为'no'及未设置该键的文章
要同时筛选出my_custom_key值为no或未设置该meta_key的文章,你需要在meta_query中通过relation参数将两个条件以「或」逻辑组合。具体代码如下:
$query->query_vars['meta_query'] = array( 'relation' => 'OR', // 指定两个条件为「或」关系 array( 'key' => 'my_custom_key', 'value' => 'no', 'compare' => '=' // 默认逻辑为等于,可省略但显式写出更清晰 ), array( 'key' => 'my_custom_key', 'compare' => 'NOT EXISTS' // 匹配未设置该meta_key的文章 ) );
代码说明
'relation' => 'OR':这是实现需求的核心,告诉WordPress只要满足两个条件中的任意一个,文章就会被筛选出来。- 第一个条件:匹配
my_custom_key被明确设置为no的文章。 - 第二个条件:匹配从未设置过
my_custom_key的文章,这里无需添加value参数,因为NOT EXISTS仅检查meta键是否存在,与值无关。
内容的提问来源于stack exchange,提问作者David TG
相关产品推荐
相关产品推荐

