Php ACF WP_查询过滤器(按分类法字段)
我正在尝试筛选CPT以按分类法显示字段,目前使用的代码如下:-Php ACF WP_查询过滤器(按分类法字段),php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我正在尝试筛选CPT以按分类法显示字段,目前使用的代码如下:- $args = array( 'posts_per_page'=> -1, 'post_type' => 'episode', 'order' => 'DESC', //'meta_key' => $filter_key, //'meta_value' => $filter,
$args = array(
'posts_per_page'=> -1,
'post_type' => 'episode',
'order' => 'DESC',
//'meta_key' => $filter_key,
//'meta_value' => $filter,
'tax_query' => array(
array(
'taxonomy' => 'name',
'field' => 'make',
'terms' => array('Jaguar')
)
),
);
然而,这并没有返回任何结果
这就是我试图过滤的内容:-
array(3) { [0]=> object(WP_Term)#7336 (10) { ["term_id"]=> int(25) ["name"]=> string(6) "Jaguar" ["slug"]=> string(6) "jaguar" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(25) ["taxonomy"]=> string(8) "post_tag" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(0) ["filter"]=> string(3) "raw" } [1]=> object(WP_Term)#7493 (10) { ["term_id"]=> int(24) ["name"]=> string(13) "Mercedes K100" ["slug"]=> string(13) "mercedes-k100" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(24) ["taxonomy"]=> string(8) "post_tag" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(0) ["filter"]=> string(3) "raw" } [2]=> object(WP_Term)#7492 (10) { ["term_id"]=> int(26) ["name"]=> string(10) "Porche 911" ["slug"]=> string(10) "porche-911" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(26) ["taxonomy"]=> string(8) "post_tag" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(0) ["filter"]=> string(3) "raw" } } array(3) { [0]=> object(WP_Term)#7503 (10) { ["term_id"]=> int(25) ["name"]=> string(6) "Jaguar" ["slug"]=> string(6) "jaguar" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(25) ["taxonomy"]=> string(8) "post_tag" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(0) ["filter"]=> string(3) "raw" } [1]=> object(WP_Term)#7490 (10) { ["term_id"]=> int(24) ["name"]=> string(13) "Mercedes K100" ["slug"]=> string(13) "mercedes-k100" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(24) ["taxonomy"]=> string(8) "post_tag" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(0) ["filter"]=> string(3) "raw" } [2]=> object(WP_Term)#7489 (10) { ["term_id"]=> int(26) ["name"]=> string(10) "Porche 911" ["slug"]=> string(10) "porche-911" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(26) ["taxonomy"]=> string(8) "post_tag" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(0) ["filter"]=> string(3) "raw" } }
因此,我的分类字段名为“make”,出于测试目的,我只想显示所有分类为“Jaguar”的帖子
请告知
array(
'taxonomy' => 'name',
'field' => 'make',
'terms' => array('Jaguar')
)
这是错误的。应该是
array(
'taxonomy' => 'post_tag',
'field' => 'name',
'terms' => array('Jaguar')
)
请查看上的文档,了解其工作原理
编辑:查看您发布的var转储,Jaguar似乎是一个post标签,而不是一个名为“make”的自定义分类法
这是错误的。应该是
array(
'taxonomy' => 'post_tag',
'field' => 'name',
'terms' => array('Jaguar')
)
请查看上的文档,了解其工作原理
编辑:查看您发布的var转储,Jaguar似乎是一个post标签,而不是一个名为“make”的自定义分类法。我最终对其进行了排序,@mrben522非常正确,参数应如下所示:-
$args = array(
'posts_per_page'=> -1,
'post_type' => 'episode',
'tax_query' => array(
array(
'taxonomy' => 'post_tag',
'terms' => array('Jaguar'),
'field' => 'name',
)
),
'order' => 'DESC',
);
然而,单凭这一点并不能解决问题。我还必须做的是在ACF中更改分类字段的选项。“保存条款”选项设置为“否”,但将此选项更改为“是”后,此选项对我有效
如果在分类字段中使用“保存术语”设置,则所选术语将保存为文章和术语之间的连接,就像WP core一样。这意味着所有的代码都可以使用或不使用ACF
发布此解决方案,因为它可能对其他人有所帮助,谢谢 我最终成功地对其进行了排序,@mrben522非常正确,参数应如下所示:-
$args = array(
'posts_per_page'=> -1,
'post_type' => 'episode',
'tax_query' => array(
array(
'taxonomy' => 'post_tag',
'terms' => array('Jaguar'),
'field' => 'name',
)
),
'order' => 'DESC',
);
然而,单凭这一点并不能解决问题。我还必须做的是在ACF中更改分类字段的选项。“保存条款”选项设置为“否”,但将此选项更改为“是”后,此选项对我有效
如果在分类字段中使用“保存术语”设置,则所选术语将保存为文章和术语之间的连接,就像WP core一样。这意味着所有的代码都可以使用或不使用ACF
发布此解决方案,因为它可能对其他人有所帮助,谢谢 谢谢@mrben522-我尝试了上面的代码,但仍然没有返回任何信息,有什么想法吗?var_转储是
get_字段('make')代码>-这是ACF分类字段(使用Taxonomy;Tag)OHHHH现在我知道了。你不能那样使用ACF。如果您试图在查询中按ACF字段过滤内容,则需要使用元查询,而不是税务查询。我不确定最终目标是什么谢谢@mrben522-我尝试了上述代码,但仍然没有返回任何内容,有什么想法吗?变量转储是get_字段('make')代码>-这是ACF分类字段(使用Taxonomy;Tag)OHHHH现在我知道了。你不能那样使用ACF。如果您试图在查询中通过ACF字段进行筛选,则需要使用元查询,而不是税务查询。我不太确定最终目标是什么