注意的是这个受后台这里的文章篇数设置所影响~

一、使用内置方法 (WordPress 4.1以前无效)

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. }

风格样式:

  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:;
  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:;
  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();?>

三、使用插件的方法

安装插件:wp-pagenavi下载>>>

调用:

  1. <?php wp_pagenavi(); ?>

WordPress主题开发:实现分页功能的更多相关文章

  1. wordpress 主题开发

    https://yusi123.com/3205.html https://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tut ...

  2. 黄聪:《跟黄聪学WordPress主题开发》

    又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...

  3. WordPress主题开发:开启文章缩略图功能

    安装wordpress后,默认的主题里编辑文章都会看见这个缩略图功能,那么我们自己开发的新主题怎么有这个功能呢? 目录: 一.开启缩略功能 二.设置缩略图大小 三.编辑文章,上传缩略图 四.调用缩略图 ...

  4. WordPress主题开发:WP_Query使用分页实例

    functions.php加入 <?php function lingfeng_custom_pagenavi( $custom_query,$range = 4 ) { global $pag ...

  5. WordPress 主题开发 - (三) 开发工具 待翻译

    Before we get started building any WordPress Theme, we’re going to need to get our development tools ...

  6. WordPress 主题开发:从入门到精通(必读)

    本专栏介绍如何开发设计你自己的 WordPress 主题.如果你希望了解更多如何安装和应用主题的内容,请参阅应用主题文档.本文的内容不同于应用主题,因为所讨论的是编写代码去构建你自己的主题的技术内容, ...

  7. WordPress 主题开发 - (一) 前言 待翻译

    原文出自: http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd-edition/ THE TH ...

  8. [转]WordPress主题开发:主题初始化

    本文转自:http://www.cnblogs.com/tinyphp/p/4391182.html 在最简单的情况下,一个WordPress主题由两个文件构成: index.php -------- ...

  9. WordPress主题开发:style.css主题信息标记

    在最简单的情况下,一个WordPress主题由两个文件构成: index.php ------------------主模版 style.css -------------------主样式表 而且s ...

  10. WordPress主题开发:主题初始化

    在最简单的情况下,一个WordPress主题由两个文件构成: index.php ------------------主模版 style.css  -------------------主样式表(注意 ...

随机推荐

  1. 移动网络简介与RRC

    1.移动网络简介 1G:表示第一代移动通讯技术,以模拟技术为基础的蜂窝无线电话系统,如现在已经淘汰的模拟移动网.1G无线系统在设计上只能传输语音流量,并受到网络容量的限制. 2G:第二代手机通信技术规 ...

  2. 移动端console.log()调试

    在微信或app进行开发的时候,没法直接查看console.log的输出内容,调试起来简直太痛苦了. 1.笨笨的方法 fiddler抓请求:追加dom节点,显示调试信息. var div =docume ...

  3. Linux 下crontab 详解转

    http://yaksayoo.blog.51cto.com/510938/162062 Linux计划任务工具cron用法详解 linux下大名鼎鼎的计划任务工具crontab的使用介绍baidu. ...

  4. chisequre test

    卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合:卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就 ...

  5. P1164 小A点菜 洛谷

    题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:“随便点”. 题目描述 不过uim由于买了一些辅(e ...

  6. jQuery中click(),bind(),live()的区别(转)

    原文:http://www.jquery001.com/click%28%29-bind%28%29-live%28%29-delegate%28%29.html click(),bind(),liv ...

  7. jquery获取系统当前时间

    //判断是否在前面加0function getNow(s) { return s < 10 ? '0' + s: s;} var myDate = new Date(); var year=my ...

  8. 模拟赛T1 素数

    没有链接 描述: 给p,q,求a^2+b^2 = p*q解的个数,p,q是素数 沙雕打表结论题 然后怼了3h吼爆零 题解 首先这是个结论题 然后这是证明 代码 #include <stdio.h ...

  9. codevs 1077 多源最短路

    题目描述 Description 已知n个点(n<=100),给你n*n的方阵,a[i,j]表示从第i个点到第j个点的直接距离. 现在有Q个询问,每个询问两个正整数,a和b,让你求a到b之间的最 ...

  10. 【bzoj3451】Tyvj1953 Normal 期望+树的点分治+FFT

    题目描述 给你一棵 $n$ 个点的树,对这棵树进行随机点分治,每次随机一个点作为分治中心.定义消耗时间为每层分治的子树大小之和,求消耗时间的期望. 输入 第一行一个整数n,表示树的大小接下来n-1行每 ...