webentwicklung-frage-antwort-db.com.de

Warum wird meine Taxonomie-Abfrage nicht angezeigt?

Ich versuche, Posts aus einer 'Nicht kategorisierten' Kategorie unter einer benutzerdefinierten Taxonomie mit dem Namen anzuzeigen. ' Rezensionen ' aber ohne viel Glück.

Ich benutze get_template_part('loop','review'), um loop-review.php aufzurufen, das meine Taxonomieschleife enthält, aber aus irgendeinem Grund wird nichts angezeigt. Was gibt?

Hier sind die Inhalte von loop-review.php...

<div class="row no-margin detail">
    <p class="title"><span>reviews</span></p>
    <?php 

    $args = array(
        'post_type' => 'post',
        'tax_query' => array(
            array(
                'taxonomy'  => 'review',
                'field'     => 'slug',
                'terms'     => 'uncategorized'
            )
        )
    ); $review_query = new WP_Query($args); ?>
    <?php if ($review_query->have_posts()): ?>
            <?php while ($review_query->have_posts()): $review_query->the_post(); ?>
                    <p class="quote">
                            <?php the_content(); ?>
                            <span><?php the_title(); ?></span>
                    </p>
            <?php endwhile; ?>
            <!-- end of the loop -->
                    <?php wp_reset_postdata(); ?>
    <?php else:  ?>
                    <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
    <?php endif; ?>
</div>

Ich rufe get_template_part('loop','review') in meinem category.php an ...

<?php 

get_header(); 

if (is_category('portfolio')): 
    get_template_part('single','portfolio'); 
    get_template_part('loop','review');
else: 
    get_template_part("single","blog");
endif; 

get_footer(); 

?>

Zum Schluss hier der Code aus meinem functions.php...

add_action('init', 'build_taxonomies', 0);
function build_taxonomies(){
        register_taxonomy('review', 'post', array(
            'hierarchical'    => 'true',
            'label'           => 'Reviews',
            'query_var'       => 'true',
            'rewrite'         => 'true'
        )
    );
}
1
Wilhelm

Es gibt keine Methoden the_content() oder the_title() für Ihr Abfrageobjekt.

Diese:

$review_query->the_content();
$review_query->the_title();

sollte einfach sein

the_content();
the_title();

Wenn Sie das Debuggen aktiviert haben , wird ein Fehler angezeigt, der Sie darüber informiert.

2
Milo

Auf den ersten Blick sehe ich, dass Ihre Abfrage 'post_type' => 'page' fordert, während die Taxonomie für den Objekttyp post registriert ist. Das Ändern des Beitragstyps in post ('post_type' => 'post') sollte das Problem beheben.

0