ACF WP_Query 按分类字段过滤

恩席尔瓦

我正在尝试过滤 CPT 以按分类显示字段,我目前使用以下代码:-

$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”的所有帖子

请指教。

恩席尔瓦

我最终设法对此进行了排序,@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 核心一样。这意味着所有代码都可以使用或不使用 ACF。

发布此解决方案,因为它可能对其他人有帮助,谢谢!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按ACF日期选择器对WP_Query进行排序

来自分类Dev

如何过滤WP_Query

来自分类Dev

如何过滤WP_Query

来自分类Dev

WP_Query在wordpress中并在结果中包含ACF

来自分类Dev

WP_query ajax 过滤与组合分类法

来自分类Dev

提取wp_query中的分类术语

来自分类Dev

WP_Query按术语排序类别

来自分类Dev

WP_Query按标签搜索

来自分类Dev

WordPress的WP_Query类别__按顺序

来自分类Dev

WP_Query:过滤tax_query或meta_query

来自分类Dev

使用WP_Query()和Foreach()输出ACF生成值的正确方法

来自分类Dev

如何在WP_Query中按日期排序?

来自分类Dev

按发布元排序WP_Query结果

来自分类Dev

WP_Query 不按价格元值排序

来自分类Dev

WP_Query中的自定义字段值

来自分类Dev

在WP_Query中按自定义字段(数字)排序

来自分类Dev

ACF:按关系字段搜索

来自分类Dev

WP:ACF图像字段和简单的灯箱插件集成

来自分类Dev

WP ACF从多个字段自动创建简码

来自分类Dev

WP:ACF图像字段和简单的灯箱插件集成

来自分类Dev

在分类模板中获取元字段 (ACF)

来自分类Dev

WP_Query在自定义分类法下获取帖子不起作用

来自分类Dev

Wordpress wp_query() 多个具有特定分类术语的帖子类型

来自分类Dev

ACF按转发器字段的子字段过滤自定义帖子

来自分类Dev

Wp_Query:通过比较两个元键来过滤帖子

来自分类Dev

WP_Query过滤特定的父自定义帖子类型?

来自分类Dev

使用 WP_Query 从 WooCommerce 中的订单 ID 数组中过滤订单

来自分类Dev

带有ID数组的WP_Query按数组顺序排序

来自分类Dev

在自定义wp_query循环中按价格订购产品