我想让我的主blogroll每页显示10篇文章,但每页的第一篇文章要设置在其他分区之上的不同分区上,并有一个特色图片。
这是我在页面的第一篇帖子中起诉的内容:
// WP_Query arguments
$args = array (
\'pagination\' => true,
\'paged\' => $paged,
\'posts_per_page\' => \'10\',
\'ignore_sticky_posts\' => true,
\'order\' => \'DESC\',
\'orderby\' => \'date\',
);
// The Query
$query = new WP_Query( $args );
// The Loop
if ( $query->have_posts() ) {
$query->the_post();
the_title();
the_content();
}
?>
这是第二次:
<?php
// WP_Query arguments
$args = array (
\'pagination\' => true,
\'paged\' => $paged,
\'posts_per_page\' => \'9\',
\'offset\' => \'1\',
\'ignore_sticky_posts\' => true,
\'order\' => \'DESC\',
\'orderby\' => \'date\',
);
// The Query
$query1 = new WP_Query( $args );
// The Loop
if ( $query1->have_posts() ) {
while ( $query1->have_posts() ) {
$query1->the_post();
the_title();
the_content();
}
}
// Restore original Post Data
wp_reset_postdata();
?>
第一篇文章在我翻页时会发生变化,但其他9篇文章永远不会改变,即使它们的页面参数与第一篇相同。
此外,我支持您可能需要的任何其他方法来实现这一目标。我看到一篇帖子,其中谈到用一个变量来更改第一篇帖子,以标记循环第一次运行的时间,但这对我没有帮助,因为第一篇帖子需要脱离正常的循环并在它自己的部分中。
提前感谢您提供的任何帮助!
最合适的回答,由SO网友:gmazzap 整理而成
为您的范围创建2个查询绝对是一项不需要的工作。。。
Use only one query 并使用$wp_query->current_post
属性更改第一篇文章的输出。。
$args = array (
\'pagination\' => true,
\'paged\' => $paged,
\'posts_per_page\' => \'10\',
\'ignore_sticky_posts\' => true,
\'order\' => \'DESC\',
\'orderby\' => \'date\',
);
// The Query
$query = new WP_Query( $args );
// The Loop
if ( $query->have_posts() ) {
$query->the_post();
if ( $query->current_post == 0 ) { // first post
echo \'<div class="first-post">\';
the_title();
the_content();
echo \'</div>\';
} else {
echo \'<div class="second-to-ninth-post">\';
the_title();
the_content();
echo \'</div>\';
}
wp_reset_postdata();
}