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'
)
);
}
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.
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.