在单个帖子页面上使用分页的帖子循环

时间:2017-05-22 作者:Mona

今天,我需要你的帮助。

在我的页面上,我有一个侧边栏:

        <div class="sidebarActu">
            <ul>
            <?php
            $i = 1;
            while ( have_posts() ) : the_post();?>
                <li <?php if($i == 1){?>class="selected"<?php } ?> > <?php get_template_part( \'template-parts/content1\', get_post_format() );?> </li> <?php
            $i++;
            endwhile; ?>
            <li class="all"><?php echo previous_posts_link();?> | <?php echo next_posts_link(); ?></li>
            </ul>
        </div>
这很好用!

现在,在我的single.php, 这不起作用,因为have_posts() 返回1。。。

所以我尝试了一些方法:

        <div class="sidebarActu">
            <ul>
            <?php
            $i = 0;
            $posts = get_posts();
            foreach($posts as $post){
                $pid = $post->ID;
                $date = $post->post_date;
                $date = date_create($date);
                $date = date_format($date, \'d/m/y\');
                ?>

                <li <?php if($id == $pid){?>class="selected"<?php } ?> ><h2 class="entry-title"><a href="<?php get_site_url(); echo $post->post_name; ?>"><?php echo $post->post_title; ?></a></h2><span><?php echo $date; ?></span></li>
                <?php
                if (++$i == 4) break;
            }
            ?>
            </ul>
        </div>
工作正常,但无法分页。有人能帮我吗?

1 个回复
SO网友:cjbj

简单的答案是,get_posts 不使用分页。你应该使用wp_query, 像这样:

$args = array (\'posts_per_page\' => 5);
$posts = new WP_Query ($args);

结束

相关推荐

Duplicates with WP_Query loop

我在头版上只显示带有特色图片的帖子。我的问题是,每次加载下一个页面时,我都会收到相同的结果,也就是得到重复的结果。我正在使用按自定义字段排序。欢迎任何可能导致此问题的指示/想法。下面是我的主循环// Layout if(is_category()) { $post_layout = blt_get_option(\'category_post_layout\', \'normal\'); } elseif(is_author()) {