我有这个wp_query,但它只返回1个帖子。我想让它返回'目录中的任何内容。带有标记' pick'的类别。我知道posts_per_page可能存在问题,但没有任何工作(我已经搜索了很多)以使查询显示多个帖子。任何帮助都会很棒。
<?php // The Query
wp_reset_query();
global $wp_query;
$term = $wp_query->queried_object;
$args=array(
'ignore_sticky_posts' => true,
'posts_per_page' => -1,
'post_type' => 'directory',
'suppress_filters' => true,
'tag' => 'picks',
'tax_query' => array(
array(
'taxonomy' => $term->taxonomy,
'field' => 'slug',
'terms' => $term->slug,
)
)
);
$new_query = new WP_Query($args);
if ( $new_query->have_posts()) : $new_query->the_post(); ?>
<article <?php post_class('post-tile'); ?>>
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php
$post_thumbnail_id = get_post_thumbnail_id( );
$imagesized = wp_get_attachment_image_src( $post_thumbnail_id, 'big-post-thumb');
if ($imagesized[1] == 308) {
the_post_thumbnail('big-post-thumb');
} else {
the_post_thumbnail('cat-post-thumb');
}
?>
<h3><?php the_title(); ?></h3>
<div class="intro">
<p><?php echo get_excerpt(140); ?></p>
</div>
</a>
</article>
<?php wp_reset_postdata(); else : ?>
<p>No picks as yet…</p>
<?php endif; ?>
</div>
答案 0 :(得分:0)
问题不在于posts_per_page
,而是缺少关键组件的循环。它没有while
声明。
目前你所有的循环都在显示第一篇文章。您需要while
语句才能遍历所有帖子。
更改此行:
if ( $new_query->have_posts()) : $new_query->the_post(); ?>
对此:
if ( $new_query->have_posts() ) : while ( $new_query->have_posts() ) : $new_query->the_post(); ?>
这一行:
<?php wp_reset_postdata(); else : ?>
对此:
<?php wp_reset_postdata(); endwhile; else : ?>