web-dev-qa-db-ja.com

カスタム分類のアーカイブでは、現在の分類の代わりにすべての投稿がリストされます

私はカスタム分類法 "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(); ?>
1
rayne

クエリに構文エラーがあります。 WP_Queryのドキュメント によれば、tax_queryパラメータの配列の配列です。つまり、おそらく次のようになるはずです。

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