Multiple pages to show posts

时间:2014-06-23 作者:user51442

我还没有任何代码或页面可以显示,所以我只能描述我的问题。

我有一组帖子,还没有分类或分类。

在我的主页上,我有一个“查看所有帖子”链接,链接到View\\u all\\u帖子。php页面。

在view\\u all\\u帖子上。php页面我有一个显示所有帖子的简单循环。

我只想在view\\u all\\u posts上显示10篇文章。php页面,并将其余的帖子链接到下一页的view\\u all\\u posts页面。

因此,view\\u all\\u posts将显示10篇文章,然后有链接显示下一页,其余的链接都打开了,如果有更多的文章要显示,则会有链接到下一页。

我知道如何限制每页post-post\\u的数量

我的问题是如何用其余的帖子创建额外的页面。

我确信我不会再创建另一个view\\u all\\u帖子页面,因为我不知道会有多少帖子,所以它不会是动态的。

是否有一个模板页,我应该像单一使用。php显示实际帖子。

如果有帮助,这里是查看所有帖子。php

<h2>View all Posts</h2>


<section class="allPosts”>

    <?php
        $allposts_args  = array(
            \'post_type\' => \'post\',
            \'order\' => \'ASC\',
            \'orderby\' => \'date\',
            \'posts_per_page\' => 10,
        );

        $allposts_loop = new WP_Query($allposts_args);

        if($allposts_loop->have_posts()):
            while($allposts_loop->have_posts()):
                $allposts_loop->the_post();

    ?>

    <div class=“thePost">

        <a href="<?php echo get_permalink($post->ID); ?>">  
            <h3><?php echo the_title(); ?></h3>
            <h4>by </h4>

            <p><?php echo the_content(); ?></p> 
        </a>
    </div>  

    <?php
        endif;
        endwhile;
    ?>

    <?php wp_reset_postdata(); ?>

</section>  

1 个回复
SO网友:Pieter Goosen

您还没有为分页做准备,分页对于您想要做的事情来说是不可或缺的。您应该了解如何构造自定义查询以及如何使用中的分页参数WP_Query

你还需要去看看next_posts_linkprevious_posts_link 用于将页面导航到下一组/上一组帖子。这是非常简单的导航链接。还有更复杂的分页功能,这只是用谷歌搜索的问题。

您必须知道并理解next_posts_link 在自定义查询中使用,否则分页根本无法工作

像这样的事情就行了。但是你需要去阅读我提供的链接,这样你才能理解我做了什么

<?php
// set the "paged" parameter (use \'page\' if the query is on a static front page)
$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : 1;

$allposts_args  = array(
            \'post_type\' => \'post\',
            \'order\' => \'ASC\',
            \'orderby\' => \'date\',
            \'posts_per_page\' => 10,
            \'paged\' => $paged
        );

        $allposts_loop = new WP_Query($allposts_args);

        if($allposts_loop->have_posts()):
            while($allposts_loop->have_posts()):
                $allposts_loop->the_post();

    ?>

<---YOUR LOOP--->

           endwhile;

       // next_posts_link() usage with max_num_pages
       next_posts_link( \'Older Entries\', $allposts_loop->max_num_pages );
       previous_posts_link( \'Newer Entries\' );

wp_reset_postdata(); 

endif;
你还应该看看Debugging Wordpress 当你开发一个主题时。在结束if语句之前,应该先结束while语句,而不是相反。和wp_reset_postdata(); 应该在endif 陈述

结束

相关推荐

小部件表单中的WP_DROPDOWN_PAGES

我的widget表单中有一个小怪癖。保存小部件实例后,表单将使用从wp\\u下拉菜单中选择的错误“page\\u id”进行刷新。如果我刷新widgets页面,则在下拉列表中选择正确的保存的page\\u id。以下是代码部分:public function form( $instance ) { if( isset( $instance[\'page_id\'] ) ) { $page_id = $instance[\'page_id\']; }