首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tax_query忽略关系或

tax_query忽略关系或
EN

WordPress Development用户
提问于 2017-10-26 15:04:43
回答 1查看 616关注 0票数 0

伙计们,我正在写相关的帖子方法,我试图得到所有的帖子,在一个或多个分类中有一个或多个术语。下面是我的函数输出的示例:

代码语言:javascript
复制
array(
  'post_type' => 
    array (
      0 => string 'post',
      1 => string 'event',
      2 => string 'quiz',
      3 => string 'newsletter'
  ),
  'posts_per_page' => -1,
  'tax_query' => array(
      'relation' => 'OR',
            array(
                'taxonomy' => 'tax1',
                'field' => 'term_taxonomy_id',
                'terms' => array(...some ids...)
            ),
            array(
                'taxonomy' => 'tax2',
                'field' => 'term_taxonomy_id',
                'terms' => array(...some ids...)
            )
     )
)

生成的查询SQL提供了以下内容:

代码语言:javascript
复制
wp_term_relationships.term_taxonomy_id IN 
(58,47,98,75,90,100,101,29,30,102,99,60,52,64,91,44,27) 
AND tt1.term_taxonomy_id IN (5,14,18,22) )

它给了我错误的结果,也就是唯一的左边和传球。

如果我将AND改为OR

代码语言:javascript
复制
wp_term_relationships.term_taxonomy_id IN 
(58,47,98,75,90,100,101,29,30,102,99,60,52,64,91,44,27) 
OR tt1.term_taxonomy_id IN (5,14,18,22) )

它返回所需的结果!

有人知道我错过了什么吗?任何帮助都将不胜感激!我甚至更新了我的Wordpress的最新版本!

更新

我想出了一个不完美的解决方案:

因为我使用的是term_taxonomy_id,所以我可以添加所有IDS并删除分类法规范,如下所示:

代码语言:javascript
复制
  'tax_query' => array(
            array(
                'field' => 'term_taxonomy_id',
                'terms' => array(...all ids...)
            )
     )

而且起作用了!这是一个快速的解决方案,尽管它在所有情况下都能工作,因为我可以选择所需的分类法,并在生成查询ARGS的过程中排除不理想的分类,

我仍然想知道为什么它一开始就忽略了我的OR relation?这是一个bug,还是我根本不明白OR relation意味着什么?

谢谢偷窥!

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2017-11-04 12:24:48

我想出了一个不完美的解决方案:

因为我使用的是term_taxonomy_id,所以我可以添加所有IDS并删除分类法规范,如下所示:

代码语言:javascript
复制
  'tax_query' => array(
            array(
                'field' => 'term_taxonomy_id',
                'terms' => array(...all ids...)
            )
     )

而且起作用了!这是一个快速的解决方案,尽管它在所有情况下都能工作,因为我可以选择所需的分类法,并在生成查询ARGS的过程中排除不理想的分类,

我还是想知道为什么它一开始就忽视了我的关系?这是一个错误,还是我根本不明白什么或关系是意味着?

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/284076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档