当前位置: 首页 > 知识库问答 >
问题:

按分类自定义字段筛选自定义帖子

危烨煜
2023-03-14

我正在使用高级自定义字段插件,我试图通过分类字段过滤一些自定义帖子,修改WP_Query:

$wp_query = new WP_Query(
    array(
        'post_type' => 'recursos', // My custom post
        'posts_per_page' => 12,
        'meta_key' => 'recursos_tipo', // My Taxonomy custom field name
        'meta_value' => 'documentos' // My taxonomy slug; the value for filter
    )
)

如果我尝试通过文本字段过滤一切正常,WP_Query被修改。但是当字段是一个分类法字段时,我不知道应该传递什么参数,因为它是一个对象。我尝试了分类法名称和分类法ID,但不起作用。

是否可以通过分类字段进行筛选?我应该传递'meta_value'的什么参数?谢谢!

更新-结构:

自定义帖子:“递归操作系统”
自定义分类Slug:'recursos tipos'(组分类Slug)
自定义分类法:“documentos”(分类法Slug)
自定义分类ID:16
ACF分类字段:“recursos_tipo”

更新-“税务查询”

我也试过了,但没用。让我看看所有的帖子:

$wp_query = new WP_Query(
    array(
        'post_type' => 'recursos',
        'posts_per_page' => 12,
        'paged' => $paged,
        'tax_query' => array(
            'taxonomy' => 'recursos-tipos',
            'field' => 'slug',
            'terms' => 'documentos'
        )
    )
);

重要提示:我认为这不起作用,因为我通过ACF分类字段“分配”分类,并且它不会影响税收。我的分类法有0篇文章。如果税务部门有职位,则tax\u查询可以正常工作。有没有一种方法可以通过ACF分类字段影响自定义分类的post计数?

共有1个答案

包翔
2023-03-14

你试过WordPress自定义查询参数吗,只要用你的值替换“Custom_tax”:如图所示: WordPressWP_Query

<?php

$jabelquery = new WP_Query(  array( 
'post_type' => 'recursos',  // post,page, revision, custom_post_type
'tax_query' => array(                     //(array) - use taxonomy parameters (available with Version 3.1).
'relation' => 'AND',                      //(string) - Possible values are 'AND' or 'OR' and is the equivalent of ruuning a JOIN for each taxonomy
  array(
    'taxonomy' => 'recursos-tipos',                //(string) - Taxonomy.
    'field' => 'slug',                    //(string) - Select taxonomy term by ('id' or 'slug')
    'terms' => array( 'recursos_tipo' )                 //(string) - Operator to test. Possible values are 'IN', 'NOT IN', 'AND'.
     )
) ) 
 );
 // The Loop
 if ( $jabelquery->have_posts() ) :
 while ( $jabelquery->have_posts() ) : $jabelquery->the_post(); ?>


 <?php the_title(); ?>


 <?php endwhile; endif; ?>  

然后,您可以使用ACF字段替换自定义_tax,如下所示:

$jab_tax = get_field('taxonomy_custom_select');
'taxonomy' => $jab_tax,
 类似资料:
  • 我有一个自定义后类型设置称为艺术家。每个单个艺术家是一个页面(艺术家个人资料,如果你愿意),有一个通过高级自定义字段(ACF)的关系字段类型与该艺术家相关联的产品列表。我需要产品在艺术家页面上显示在他们的类别中。因此,在Elementor中,我需要指定一个查询筛选器ID,以简单地将产品划分为类别。 到目前为止我所尝试的 我试图通过自定义查询仅显示列表中特定类别的产品,因为我需要生成查询ID。 我一

  • 我有一个自定义的帖子类型设置,有许多类别和子类别。 我试图做的是创建一个页面,显示特定类别中的所有帖子,并使用一个菜单列出所有类别子类别,以便可以过滤帖子。 我已尝试复制存档模板并将其重命名为分类法-(我的自定义分类法)。php,如果我转到slug,它会显示某些帖子,并使用

  • 更新2添加名称作为字段,而不是段塞,并添加the_title()只需给我一个页面标题的回声... 更新Jonnhyd23的代码非常有效!!谢谢有没有一种方法可以使术语变得动态?就像标题是阿姆斯特丹一样,我能做一些类似于

  • 我有一个前端ACF表单-ACF_表单()。使用post对象字段。我想通过自定义字段限制查询结果。下面的代码可以正常工作,除了当我尝试在搜索栏中键入时,会出现以下错误:我得到的错误是ajax响应中的PHP错误; 0:“PhpConsole\Handler”- 1:"strpos()" 2:"acf_order_by_search()" 3:“acf_field_post_object- 4:“acf

  • 我正在使用wordpress和自定义post类型的UI插件和ACF插件。试图通过自定义分类法构建具有多个自定义文章类型提要的“单个”模板。使用这段代码,通过一些变化来找出我做错了什么。 连续得到2段这样的代码 是一个分类字段。上面显示的代码只显示了所有的“产品”帖子。我还尝试使用带有taxonomy slug的文本字段。如果我不使用first if语句(

  • 介绍 model 参考文档已经介绍了如何使用 Django 的标准字段类;例如 CharField, DateField,等等。对于很多应用来说,这些类足够用了。 但是在某些情况下, 你所用的Django 不具备你需要的某些精巧功能,或是你想使用的字段与 Django 自带字段完全不同。 Django 内置的字段类型并不能覆盖所有可能遇到的数据库的列类型,仅仅是些普通的字段类型,例如VARCHAR