我还没有显示任何代码或页面,所以我只需要描述我的问题。
我在Wordpress中有一组帖子,没有类别或taxnomoy。
在我的主页上,我有一个'查看所有帖子'链接到view_all_post.php页面。
在view_all_posts.php页面上,我有一个显示所有帖子的简单循环。
我只想在view_all_posts.php页面上显示10个帖子,并在下一页上将其余帖子链接到view_all_posts页面上。
所以view_all_posts将显示10个帖子,然后有链接显示下一页,其余链接打开,如果有更多帖子显示,则会链接到下一页。
我知道如何限制post-post_per_page的数量
我的问题是如何使用其余帖子创建额外的页面。
我确定我不会创建另一个view_all_post页面,因为我不知道会有多少帖子,所以它不会是动态的。
是否有我应该使用的模板页面,如single.php来显示实际帖子。
答案 0 :(得分:1)
简而言之,您需要在word-press中对posts
进行分页。从Word按下检查非常有用的功能。
<?php echo paginate_links( $args ); ?>
答案 1 :(得分:0)
您没有为分页做好准备,这对您想要做的事情是不可或缺的。您应该去了解如何构建自定义查询以及如何使用WP_Query
中的分页参数
您还需要查看next_posts_link
和previous_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