我正在使用类型插件来创建一个自定义的帖子类型“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(); ?>
最合适的回答,由SO网友:Simon 整理而成
查询中有语法错误。根据documentation for WP_Query, tax_query
是一个由参数数组组成的数组,也就是说它应该是这样的:
\'tax_query\' => array(
array(
\'taxonomy\' => \'semester\',
\'field\' => \'slug\',
\'terms\' => $getterm,
\'include_children\' => true,
\'operator\' => \'IN\'
),
),