首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在分类页面上,显示与该分类和另一个分类相关联的帖子

问在分类页面上,显示与该分类和另一个分类相关联的帖子
EN

Stack Overflow用户
提问于 2017-08-08 10:55:32
回答 1查看 25关注 0票数 2

我有一个自定义的帖子类型,叫做Developments。它们是建筑物。它们有两个不同的分类:城市和地位。在其中一座建筑的城市分类页面上,我试图显示与状态分类相关的所有帖子。

代码语言:javascript
复制
<?php
    // Vars
    $status_taxonomy = 'development_status';
    $devs = get_terms( array(
        'taxonomy' => $status_taxonomy,
        'hide_empty' => true,
    ) );
?>
<?php
    foreach($devs as $dev) : 
    $dev_id = $dev->term_id;
    $dev_name = $dev->name;
?>
<?php
    $term_slug = $dev->slug;
    $dev_posts = new WP_Query( array(
        'post_type'         => 'developments',
        'posts_per_page'    => -1, //important for a PHP memory limit warning
        'tax_query' => array(
            array(
                'taxonomy' => $status_taxonomy,
                'field'    => 'slug',
                'terms'    => $term_slug,
                'operator' => 'IN',
            ),
        ),
    ));

    if( $dev_posts->have_posts() ) :

        echo '<h3>'. $dev_name .'</h3>';
        while ( $dev_posts->have_posts() ) : $dev_posts->the_post();
        ?>
            <div class="col-xs-12">
                <h3>$dev_name</h3>
            </div>
            <div class="col-md-4">
                <h4><?php the_title(); ?></h4>
            </div>
        <?php
        endwhile;

    endif;
    wp_reset_postdata();
?>

<?php
    endforeach;
?>

这段代码输出了所有的状态术语,但它也显示了所有的帖子,我需要它来显示与City关联的帖子。我不确定如何修改上面的代码来实现这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-08 12:06:03

在城市分类页面上获取当前的分类和术语,如下所示:

代码语言:javascript
复制
$current_term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );

然后更改tax_query以添加另一个数组,以便将当前的城市分类添加到限制中:

代码语言:javascript
复制
                       'tax_query' => array
                        (
                            'relation' => 'AND',
                            array(
                                'taxonomy' => $status_taxonomy,
                                'field'    => 'slug',
                                'terms'    => $term_slug,
                                'operator' => 'IN',
                            ),
                            array(
                                'taxonomy' => 'city',
                                'field'    => 'slug',
                                'terms'    => $current_term->slug,
                                'operator' => 'IN',
                            ),
                        ),
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45558556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档