假设我有一个包含10个帖子的博客。 我想在我的首页上显示20个帖子。
如何让wordpress循环重复直到达到20?
if(have_posts()):while(have_posts()):the_post(); ENDWHILE; ENDIF;
顺便说一句......我不想要两个循环......简单的回答就是有2个循环,每个循环有10个帖子,等于20个。
THX
答案 0 :(得分:1)
使用占位符Lorem Ipsum文本http://www.lipsum.com制作足够的帖子并使用相同的拇指。比写一个新循环更有意义(虽然这很容易)并在主题中放置/替换它。
如果你担心搜索引擎优化,那些问题完全是错误的。阻止您的开发网站从搜索机器人,因为您不希望网站索引多个帖子和/或Lorem Ipsum文本。一旦站点在域上运行,然后执行站点地图并让机器人进入。
答案 1 :(得分:1)
将它放在主题的functions.php文件中:
function my_awesome_post_booster(){
if(!is_home())
return;
global $wp_query;
if( $wp_query->post_count < 20 ){
$how_many = 20 - $wp_query->post_count;
$newposts = get_posts('numberposts='.$how_many);
$wp_query->posts = array_merge( $wp_query->posts, $newposts );
$wp_query->post_count += count($newposts);
my_awesome_post_booster();
}
}
add_action('template_redirect', 'my_awesome_post_booster');
答案 2 :(得分:0)
后端有一个设置,您可以更改主页上的最大帖子数量 - 查看设置 - >阅读
答案 3 :(得分:0)
WordPress Codex上的此链接将帮助您: The Loop - Multiple loops in Action
您可以使用WP_Query查询帖子,如果您没有至少10个帖子,那么您可以再次循环结果。
<?php
$my_query = new WP_Query('category_name=whatever');
$count = 0;
while ($my_query->have_posts()) {
$my_query->the_post();
$count++;
}
if (count < 10) {
//loop again or something
答案 4 :(得分:0)
这样的事情怎么样:
$count = 0;
while ( $count < 20 ) {
if ( !have_posts() ) {
rewind_posts();
}
the_post();
$count++;
}
这当然假设查询确实至少有一个帖子