首页 文章

Wordpress循环重复自己

提问于
浏览
1

可以说我有一个有10个帖子的博客 . 我想在我的首页上显示20个帖子 .

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

if(have_posts()):while(have_posts()):the_post(); ENDWHILE;万一;

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

谢谢

5 回答

  • 0

    将它放在主题的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');
    
  • 0

    使用占位符Lorem Ipsum文本http://www.lipsum.com来制作足够的帖子并使用相同的拇指 . 比编写一个新循环更有意义(虽然它很容易)并在主题中放置/替换它 .

    如果你担心SEO,那些担忧完全是错误的 . 阻止您的开发网站从搜索机器人,因为您不希望网站索引多个帖子和/或Lorem Ipsum文本 . 一旦站点在域上运行,然后执行站点 Map 并让机器人进入 .

  • 0

    后端有一个设置,您可以更改主页上的最大帖子数 - 查看设置 - >阅读

  • 1

    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
    
  • 1

    这样的事情怎么样:

    $count = 0;
    while ( $count < 20 ) { 
        if ( !have_posts() ) { 
            rewind_posts();
        }
        the_post();
        $count++;
    }
    

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

相关问题