WordPress教程

WordPress制作列表页分页的三种方法

阿里云

使用 WordPress 建好网站之后,随着文章数量越来越多,就需要制作分页显示之后,之前也介绍了 WordPress 无插件 纯代码实现分页导航的方法,今天再给大家介绍 WordPress 制作列表页分页的三种方法。

方法一:使用 WP 自带的分页函数

WordPress 分页函数 the_posts_pagination 可以输出分页式导航。

也想出现在这里?联系我们
创客主机
  1. <?php the_posts_pagination( array(
  2. 'mid_size' => 3,
  3. 'prev_text' =>'上一页',
  4. 'next_text' =>'下一页',
  5. 'before_page_number' => '<span class="meta-nav screen-reader-text">第 </span>',
  6. 'after_page_number' => '<span class="meta-nav screen-reader-text"> 页</span>',
  7. ) ); ?>

参数说明:

  • $mid_size---第几个开始显示省略号
  • $prev_text---上一页文本
  • $next_text---下一页文本
  • $before_page_number---页码前
  • $after_page_number---页码后

使用方法:

  1. <?php if( have_posts() ) : while( have_posts() ) : the_post(); ?>
  2. <!-- 在这里调用内容 -->
  3. <?php endwhile; ?>
  4. //这里放分页代码
  5. <?php endif; ?>

在网站后台设置多少篇文章开始分页,设置如下图:

方法二:自定义设置分页

先看一下实现后的效果图:

实现方法:

第一步:把以下代码放入模板函数文件 functions.php;

  1. /**
  2. * 数字分页函数
  3. * 因为wordpress默认仅仅提供简单分页
  4. * 所以要实现数字分页,需要自定义函数
  5. * @Param int $range 数字分页的宽度
  6. * @Return string|empty 输出分页的HTML代码
  7. */
  8. function lingfeng_pagenavi( $range = 4 ) {
  9. global $paged,$wp_query;
  10. if ( !$max_page ) {
  11. $max_page = $wp_query->max_num_pages;
  12. }
  13. if( $max_page >1 ) {
  14. echo "<div class='fenye'>";
  15. if( !$paged ){
  16. $paged = 1;
  17. }
  18. if( $paged != 1 ) {
  19. echo "<a href='".get_pagenum_link(1) ."' class='extend' title='跳转到首页'>首页</a>";
  20. }
  21. previous_posts_link('上一页');
  22. if ( $max_page >$range ) {
  23. if( $paged <$range ) {
  24. for( $i = 1; $i <= ($range +1); $i++ ) {
  25. echo "<a href='".get_pagenum_link($i) ."'";
  26. if($i==$paged) echo " class='current'";echo ">$i</a>";
  27. }
  28. }elseif($paged >= ($max_page -ceil(($range/2)))){
  29. for($i = $max_page -$range;$i <= $max_page;$i++){
  30. echo "<a href='".get_pagenum_link($i) ."'";
  31. if($i==$paged)echo " class='current'";echo ">$i</a>";
  32. }
  33. }elseif($paged >= $range &&$paged <($max_page -ceil(($range/2)))){
  34. for($i = ($paged -ceil($range/2));$i <= ($paged +ceil(($range/2)));$i++){
  35. echo "<a href='".get_pagenum_link($i) ."'";if($i==$paged) echo " class='current'";echo ">$i</a>";
  36. }
  37. }
  38. }else{
  39. for($i = 1;$i <= $max_page;$i++){
  40. echo "<a href='".get_pagenum_link($i) ."'";
  41. if($i==$paged)echo " class='current'";echo ">$i</a>";
  42. }
  43. }
  44. next_posts_link('下一页');
  45. if($paged != $max_page){
  46. echo "<a href='".get_pagenum_link($max_page) ."' class='extend' title='跳转到最后一页'>尾页</a>";
  47. }
  48. echo '<span>共['.$max_page.']页</span>';
  49. echo "</div>\n";
  50. }
  51. }

第二步:将以下的 CSS 样式放到样式表里,控制分页的样式。

  1. /*------------------
  2. 分页部分的CSS
  3. ------------------*/
  4. .fenye{
  5. height: 25px;
  6. line-height: 25px;
  7. _background: #F9F9F9;
  8. padding: 2px 5px;
  9. margin: 20px 4px;
  10. _border: solid 1px #ccc;
  11. _text-align: center;
  12. }
  13.  
  14. .fenye a{
  15. padding:4px 6px 4px 6px;
  16. margin:0 2px 0 2px;
  17. border:1px solid #aaa;
  18. text-decoration:none;
  19. color:#333;
  20. }
  21.  
  22. .fenye a.current{
  23. background:#ff6f3d;
  24. color:#fff;
  25. }
  26.  
  27. .fenye a:hover{
  28. background:#ff6f3d;
  29. color:#fff;
  30. }
  31.  
  32. /*-- footer --*/
  33. .footer {
  34. width:100%;
  35. height:64px;
  36. background:#E6E9ED;
  37. border-top: 1px solid #e2e2e3;
  38. }
  39.  
  40. /*-- post --*/
  41. .post {
  42. background:none;
  43. }
  44.  
  45. .post .entry-cnt {
  46. height:auto;
  47. line-height:2;
  48. font-size:14px;
  49. border-top-width: 1px;
  50. border-top-style: dotted;
  51. border-top-color: #eee;
  52. padding:15px 0 0;
  53. }
  54.  
  55. .post .entry-cnt p {
  56. line-height:2;
  57. font-size:14px;
  58. }
  59.  
  60. .related {
  61. padding:10px 5px 10px 5px;
  62. border-top:1px solid #eee;
  63. border-bottom:1px solid #eee;
  64. margin: 20px auto 10px auto;
  65. }
  66.  
  67. .r-left {
  68. float:left;
  69. }
  70.  
  71. .r-right {
  72. float:right;
  73. }
  74.  
  75. /*-- discuss --*/
  76. .discuss {
  77. padding:25px;
  78. }

第三步:在需要显示分页的地方插入以下的代码,用于显示分页按钮。

  1. <?php lingfeng_pagenavi();?>

方法三:使用分页插件

安装插件:wordpress 分页插件 wp-page-numbers

使用以下的代码进行调用:

  1. <?php wp_pagenavi(); ?>

WordPress 制作列表页分页的三种方法

已有 280 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!