【问题标题】:How do I filter these results by a custom taxonomy?如何通过自定义分类过滤这些结果?
【发布时间】:2020-03-25 18:35:05
【问题描述】:

我有一个自定义帖子类型,我从 ACF 日期选择器字段中按日期排序。我需要能够根据我拥有的自定义分类法过滤这些结果。我似乎无法确定在哪里添加 tax_query 数组。不断破坏网站。 分类名称是“pre_job_status”,过滤条件是“调查完成” 目前我有以下代码

<?php 

// get posts
$posts = get_posts(
'tax_query' => array(
        array(
            'taxonomy' => 'pre_job_status',
            'field' => 'slug',
            'terms' => array( 'survey-complete' )
        ),
    ),
array(
    'post_type'         => 'pre_jobs',
    'posts_per_page'        => -1,
    'meta_key'          => 'survey_date',
    'orderby'           => 'meta_value',
    'order'             => 'ASC',
));

if( $posts ): ?>
    <hr>
    <ul>

    <?php foreach( $posts as $post ): 

        setup_postdata( $post )

        ?>
        <?php $requestor = get_field('pre_job_requestor', $client->ID ); ?>
        <?php $survey_site = get_field('survey_site', $client->ID ); ?>
        <li>
            <?php the_field('survey_date'); ?> - <a href="<?php the_permalink(); ?>"><?php the_title(); ?> - <?php echo $requestor[0]->post_title; ?> - <?php echo $survey_site[0]->post_title; ?></a>
        </li><hr>

    <?php endforeach; ?>

    </ul>

    <?php wp_reset_postdata(); ?>

<?php endif; ?>

【问题讨论】:

  • 您可以使用 tax_query 发布您的查询吗?
  • 使用 tax_query 编辑代码

标签: php wordpress


【解决方案1】:

您的get_posts() 查询应如下所示:

// get posts
$posts = get_posts(array(
    'post_type'         => 'pre_jobs',
    'posts_per_page'        => -1,
    'meta_key'          => 'survey_date',
    'orderby'           => 'meta_value',
    'order'             => 'ASC',
    'tax_query' => array(
        array(
            'taxonomy' => 'pre_job_status',
            'field' => 'slug',
            'terms' => array( 'survey-complete' )
        ),
    ),
));

tax_query 数组应该添加到主查询数组中。

【讨论】:

  • 太好了,乐于助人!
猜你喜欢
  • 2014-09-30
  • 1970-01-01
  • 2012-08-23
  • 2021-02-16
  • 2022-01-19
  • 1970-01-01
  • 2014-11-19
  • 1970-01-01
  • 2012-01-05
相关资源
最近更新 更多