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 ),
),
),
我有自定义 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 ),
),
),