自定义分类的存档列出了所有帖子,而不是当前分类

时间:2015-11-25 作者:rayne

我正在使用类型插件来创建一个自定义的帖子类型“Session”,它具有自定义的分类法“sement”。我现在想为每个学期创建一个自动生成的归档页面。创建分类学期。php没有问题,但是,该页面始终显示所有学期的内容,而不仅仅是URL指向的当前内容。

E、 g./学期/冬季2015和/学期/夏季2016都将显示2015年冬季的内容(或数据库中的任何内容)。我很确定问题出在我的查询参数中,但不管我怎么做,我都无法让这个页面只显示正确学期的内容。这是我的代码:

<?php get_header(); ?>
<section class="index-post-list">     

<?php 

$term = $wp_query->queried_object;
$getterm = $term->slug; // get current slug (E.g. winter2015)

    $args = (array(
    \'post_type\' => \'session\', 
    \'tax_query\' => array(                     
        \'taxonomy\' => \'semester\',
        \'field\' => \'slug\',
        \'terms\' => $getterm,
        \'include_children\' => true,          
        \'operator\' => \'IN\' 
    ),
    \'meta_key\' => \'wpcf-start-time\', // custom post field by which results are sorted
    \'orderby\' => \'meta_value\',
    \'order\' => \'ASC\'
    ) );  

    $query = new wp_query( $args );

        <h2 class="archive-title"><?php printf( __( \'Schedule for %s\', \'template\' ), single_tag_title( \'\', false ) ); ?></h2>
        <?php echo tag_description(); ?>


        <?php if ( $query -> have_posts() ) : while ( $query -> have_posts() ) : $query -> the_post(); ?>


    //usual loop stuff goes here....



    <?php endif; ?>



</section><!--index-post-list-->
<?php get_footer(); ?>

1 个回复
最合适的回答,由SO网友:Simon 整理而成

查询中有语法错误。根据documentation for WP_Query, tax_query 是一个由参数数组组成的数组,也就是说它应该是这样的:

\'tax_query\' => array(
    array(                     
        \'taxonomy\' => \'semester\',
        \'field\' => \'slug\',
        \'terms\' => $getterm,
        \'include_children\' => true,          
        \'operator\' => \'IN\' 
    ),
),

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post