我在wordpress网站上使用Paul Irish的infinitescroll和masonry js。这是一个内容很多的网站。我希望infintescroll在到达第40号帖子时停止添加新内容,并在此时给出“无附加项目”消息。我试图自定义wordpress循环只返回40个帖子,但这似乎不起作用。
我认为这可能是infinitecroll中的一个选项可能会起作用,但infintescroll文档非常稀疏。例如,在“loading”init部分中有一个名为“finished:undefined”的infinitescroll选项是否可以更改该参数以在一定数量的内容项之后停止滚动?
当infinitescroll停止加载新内容时,还有其他一些明显的方法可以控制吗?
非常感谢任何帮助。
答案 0 :(得分:0)
在管理中 - >设置 - >阅读你可以将博客页面设置为最多40个。
使用代码: 有两种方法我用数字做过砌体,就像你的问题我已经成功完成以下任务:
在您的查询参数中限制 posts_per_page
$args = array(
'posts_per_page' => 40,
'offset' => 5,
'orderby' => 'post_date',
'order' => 'DESC',
'exclude' => 'none',
'post_type' => 'post',
'post_status' => 'publish',
'suppress_filters' => true
);
$posts = new WP_Query( $args );
if ( $posts -> have_posts()) {
while ( $posts -> have_posts() ) : $posts->the_post(); {
//do stuff with the posts returned here
}
}
或通过递增:
$counts = 0 ;
$posts = new WP_Query( $args );
if ( $posts -> have_posts()) {
while ( $posts -> have_posts() ) : $posts->the_post(); {
//do stuff with the posts returned here
$counts = ++;
if($counts == 40) { return }
}
}