Wordpress tax_query "and" 运算符未按预期运行

Wordpress tax_query "and" operator not functioning as expected

我有自定义 post 类型的 image,自定义分类法称为 image_tag(它是分层的类)。以下是可能使用的标签的一些示例:

Structure (id: 25)
- House (id: 56)
- Skyscraper
Nature
- Animal
- Plant (id: 41)

因此,我想通过结合 "and" 运算符选择多个标签来深入查看图像。例如,查找包含 plants 和 houses.

的所有照片
$query_args = array(
  'post_type' => 'image',
  'tax_query' => array(
    array(
      'taxonomy' => 'image_tag',
      'terms' => array(41, 56),    // IDs of "plant" and "house"
      'operator' => 'and',
    ),
  ),
);

效果很好,当我尝试包含父项时问题就开始了,例如:

$query_args = array(
  'post_type' => 'image',
  'tax_query' => array(
    array(
      'taxonomy' => 'image_tag',
      'terms' => array(25, 41),    // IDs of "structure" and "plant"
      'operator' => 'and',
    ),
  ),
);

然后我没有得到任何结果。我猜是因为我使用的是 "and" 运算符,所以 Wordpress 不包含 "Structure" 项的子项。有谁知道我如何让它工作?

更新:您忘记像这样关闭 'terms' 和 'operator'

$query_args = array(
  'post_type' => 'image',
  'tax_query' => array(
    array(
      'taxonomy' => 'image_tag',
      'field'    => 'term_id',
      'terms' => array(25, 41),    // IDs of "structure" and "plant"
      'operator' => 'in'
    ),
  ),
);
$query_args = array(
 'post_type' => 'image',
 'tax_query' => array(
    'relation' => 'AND',
       array(
      'taxonomy' => 'image_tag',
      'field'    => 'term_id',
      'terms' => array(25, 41),    // IDs of "structure" and "plant"
      'operator' => 'in'
      ),
    ),
  );

我遇到了类似的问题,试一试吧!

所以它应该是这样的:

'relation' => 'AND',
   array(
         'taxonomy' => 'image_tag',
          'field'    => 'term_id',
          'terms'    => array( 25 ),
         ),
         array(
         'taxonomy' => 'image_tag',
          'field'    => 'term_id',
          'terms'    => array( 41 ),
          ),
        ),