私はカスタム分類法 "Semester"を持つカスタム投稿タイプ "Session"にTypesプラグインを使用しています。今度は自動的に生成される各学期のためのアーカイブページを作成したいと思います。 taxonomy-semester.phpを作成しても問題ありませんでしたが、そのページには現在のURLが指すものだけでなく、常にすべての学期のコンテンツが表示されます。
例えば。/semester/winter2015と/ semester/summer2016はどちらも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(); ?>
クエリに構文エラーがあります。 WP_Queryのドキュメント によれば、tax_query
はパラメータの配列の配列です。つまり、おそらく次のようになるはずです。
'tax_query' => array(
array(
'taxonomy' => 'semester',
'field' => 'slug',
'terms' => $getterm,
'include_children' => true,
'operator' => 'IN'
),
),