如何修改此代码以限制页面上3个帖子的数量?它取自Wordpress模板。在此先感谢您的帮助!
<?php
if ( get_query_var('paged') ) {
$paged = get_query_var('paged');
} elseif ( get_query_var('page') ) {
$paged = get_query_var('page');
} else {
$paged = 1;
}
$alt_args = array(
'ignore_sticky_posts' => 1,
'paged' => $paged
);
$alt_posts = new WP_Query($alt_args);
?>
<?php if ( $alt_posts->have_posts() ) : ?>
<?php while ( $alt_posts->have_posts() ) : $alt_posts->the_post(); ?>
<?php get_template_part( 'content', 'alt-homepage' ); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<article id="post-0" class="post no-results not-found">
<header class="entry-header">
<h1 class="entry-title"><?php _e( 'Nothing Found', 'wp-jurist' ); ?></h1>
答案 0 :(得分:1)
设置posts_per_page参数:
$alt_args = array(
'ignore_sticky_posts' => 1,
'paged' => $paged,
'posts_per_page' => 3
);
有关详细信息,请参阅http://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters
答案 1 :(得分:0)
虽然不是正确的做法,但这可行:
<?php
$i = 0;
while ( $alt_posts->have_posts() && $i < 3 ) {
$i++;
$alt_posts->the_post();
get_template_part( 'content', 'alt-homepage' );
} ?>
上面的代码会将proccessed元素的最大值限制为3.只需更改while部分,它就会运行。无论如何,正确性是has_post()方法可以选择限制检索的元素数量,然后只显示元素。