it-swarm.com.de

Archiv für eigene Taxonomie listet alle Beiträge in denen Taxonomie auf

Ich verwende das Types-Plugin für einen benutzerdefinierten Beitragstyp "Session" mit der benutzerdefinierten Taxonomie "Semester". Ich möchte jetzt für jedes Semester eine Archivseite anlegen, die automatisch generiert wird. Das Erstellen einer taxonomy-semester.php war kein Problem, jedoch zeigt diese Seite immer Inhalte für ALLE Semester an, nicht nur die aktuelle, auf die die URL verweist.

Z.B./semester/winter2015 und/semester/summer2016 zeigen beide Inhalte für Winter 2015 (oder was auch immer in der Datenbank enthalten ist). Ich bin mir ziemlich sicher, dass das Problem in meinen Abfrageargumenten liegt, aber egal was ich versuche, kann ich nicht erreichen, dass auf dieser Seite nur die Inhalte für das richtige Semester angezeigt werden. Hier ist mein Code:

<?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

Sie haben einen Syntaxfehler in Ihrer Abfrage. Gemäß der Dokumentation für WP_Query ist tax_query ein Array von Arrays von Parametern , was bedeutet, dass es wahrscheinlich so aussehen sollte:

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