Wordpress循环重复自己

时间:2010-08-16 13:23:58

标签: php wordpress

假设我有一个包含10个帖子的博客。 我想在我的首页上显示20个帖子。

如何让wordpress循环重复直到达到20?

if(have_posts()):while(have_posts()):the_post(); ENDWHILE; ENDIF;

顺便说一句......我不想要两个循环......简单的回答就是有2个循环,每个循环有10个帖子,等于20个。

THX

5 个答案:

答案 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++;
}

这当然假设查询确实至少有一个帖子