WordPress主题开发:实现分页功能
注意的是这个受后台这里的文章篇数设置所影响~
一、使用内置方法 (WordPress 4.1以前无效)
the_posts_pagination 输出分页式导航,用法:
- <?php the_posts_pagination( array(
- 'mid_size' => 3,
- 'prev_text' =>'上一页',
- 'next_text' =>'下一页',
- 'before_page_number' => '<span class="meta-nav screen-reader-text">第 </span>',
- 'after_page_number' => '<span class="meta-nav screen-reader-text"> 页</span>',
- ) ); ?>
参数说明:$mid_size---第几个开始显示省略号,$prev_text---上一页文本,$next_text---下一页文本,$before_page_number---页码前,$after_page_number---页码后
- <?php if( have_posts() ) : while( have_posts() ) : the_post(); ?>
- <!-- 在这里调用内容 -->
- <?php endwhile; ?>
- //这里放分页代码
- <?php endif; ?>
二、自定义方法:
把以下代码放入:functions.php
- /**
- * 数字分页函数
- * 因为wordpress默认仅仅提供简单分页
- * 所以要实现数字分页,需要自定义函数
- * @Param int $range 数字分页的宽度
- * @Return string|empty 输出分页的HTML代码
- */
- function lingfeng_pagenavi( $range = 4 ) {
- global $paged,$wp_query;
- if ( !$max_page ) {
- $max_page = $wp_query->max_num_pages;
- }
- if( $max_page >1 ) {
- echo "<div class='fenye'>";
- if( !$paged ){
- $paged = 1;
- }
- if( $paged != 1 ) {
- echo "<a href='".get_pagenum_link(1) ."' class='extend' title='跳转到首页'>首页</a>";
- }
- previous_posts_link('上一页');
- if ( $max_page >$range ) {
- if( $paged <$range ) {
- for( $i = 1; $i <= ($range +1); $i++ ) {
- echo "<a href='".get_pagenum_link($i) ."'";
- if($i==$paged) echo " class='current'";echo ">$i</a>";
- }
- }elseif($paged >= ($max_page -ceil(($range/2)))){
- for($i = $max_page -$range;$i <= $max_page;$i++){
- echo "<a href='".get_pagenum_link($i) ."'";
- if($i==$paged)echo " class='current'";echo ">$i</a>";
- }
- }elseif($paged >= $range &&$paged <($max_page -ceil(($range/2)))){
- for($i = ($paged -ceil($range/2));$i <= ($paged +ceil(($range/2)));$i++){
- echo "<a href='".get_pagenum_link($i) ."'";if($i==$paged) echo " class='current'";echo ">$i</a>";
- }
- }
- }else{
- for($i = 1;$i <= $max_page;$i++){
- echo "<a href='".get_pagenum_link($i) ."'";
- if($i==$paged)echo " class='current'";echo ">$i</a>";
- }
- }
- next_posts_link('下一页');
- if($paged != $max_page){
- echo "<a href='".get_pagenum_link($max_page) ."' class='extend' title='跳转到最后一页'>尾页</a>";
- }
- echo '<span>共['.$max_page.']页</span>';
- echo "</div>\n";
- }
- }
风格样式:
- /*------------------
- 分页部分的CSS
- ------------------*/
- .fenye{
- height: 25px;
- line-height: 25px;
- _background: #F9F9F9;
- padding: 2px 5px;
- margin: 20px 4px;
- _border: solid 1px #ccc;
- _text-align: center;
- }
- .fenye a{
- padding:4px 6px 4px 6px;
- margin:0 2px 0 2px;
- border:1px solid #aaa;
- text-decoration:none;
- color:#333;
- }
- .fenye a.current{
- background:#ff6f3d;
- color:#fff;
- }
- .fenye a:hover{
- background:#ff6f3d;
- color:#fff;
- }
- /*-- footer --*/
- .footer {
- width:100%;
- height:64px;
- background:#E6E9ED;
- border-top: 1px solid #e2e2e3;
- }
- /*-- post --*/
- .post {
- background:none;
- }
- .post .entry-cnt {
- height:auto;
- line-height:;
- font-size:14px;
- border-top-width: 1px;
- border-top-style: dotted;
- border-top-color: #eee;
- padding:15px 0 0;
- }
- .post .entry-cnt p {
- line-height:;
- font-size:14px;
- }
- .related {
- padding:10px 5px 10px 5px;
- border-top:1px solid #eee;
- border-bottom:1px solid #eee;
- margin: 20px auto 10px auto;
- }
- .r-left {
- float:left;
- }
- .r-right {
- float:right;
- }
- /*-- discuss --*/
- .discuss {
- padding:25px;
- }
在需要显示分页的地方插入:
- <?php lingfeng_pagenavi();?>
三、使用插件的方法
安装插件:wp-pagenavi下载>>>
调用:
- <?php wp_pagenavi(); ?>
WordPress主题开发:实现分页功能的更多相关文章
- wordpress 主题开发
https://yusi123.com/3205.html https://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tut ...
- 黄聪:《跟黄聪学WordPress主题开发》
又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...
- WordPress主题开发:开启文章缩略图功能
安装wordpress后,默认的主题里编辑文章都会看见这个缩略图功能,那么我们自己开发的新主题怎么有这个功能呢? 目录: 一.开启缩略功能 二.设置缩略图大小 三.编辑文章,上传缩略图 四.调用缩略图 ...
- WordPress主题开发:WP_Query使用分页实例
functions.php加入 <?php function lingfeng_custom_pagenavi( $custom_query,$range = 4 ) { global $pag ...
- WordPress 主题开发 - (三) 开发工具 待翻译
Before we get started building any WordPress Theme, we’re going to need to get our development tools ...
- WordPress 主题开发:从入门到精通(必读)
本专栏介绍如何开发设计你自己的 WordPress 主题.如果你希望了解更多如何安装和应用主题的内容,请参阅应用主题文档.本文的内容不同于应用主题,因为所讨论的是编写代码去构建你自己的主题的技术内容, ...
- WordPress 主题开发 - (一) 前言 待翻译
原文出自: http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd-edition/ THE TH ...
- [转]WordPress主题开发:主题初始化
本文转自:http://www.cnblogs.com/tinyphp/p/4391182.html 在最简单的情况下,一个WordPress主题由两个文件构成: index.php -------- ...
- WordPress主题开发:style.css主题信息标记
在最简单的情况下,一个WordPress主题由两个文件构成: index.php ------------------主模版 style.css -------------------主样式表 而且s ...
- WordPress主题开发:主题初始化
在最简单的情况下,一个WordPress主题由两个文件构成: index.php ------------------主模版 style.css -------------------主样式表(注意 ...
随机推荐
- 移动网络简介与RRC
1.移动网络简介 1G:表示第一代移动通讯技术,以模拟技术为基础的蜂窝无线电话系统,如现在已经淘汰的模拟移动网.1G无线系统在设计上只能传输语音流量,并受到网络容量的限制. 2G:第二代手机通信技术规 ...
- 移动端console.log()调试
在微信或app进行开发的时候,没法直接查看console.log的输出内容,调试起来简直太痛苦了. 1.笨笨的方法 fiddler抓请求:追加dom节点,显示调试信息. var div =docume ...
- Linux 下crontab 详解转
http://yaksayoo.blog.51cto.com/510938/162062 Linux计划任务工具cron用法详解 linux下大名鼎鼎的计划任务工具crontab的使用介绍baidu. ...
- chisequre test
卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合:卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就 ...
- P1164 小A点菜 洛谷
题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:“随便点”. 题目描述 不过uim由于买了一些辅(e ...
- jQuery中click(),bind(),live()的区别(转)
原文:http://www.jquery001.com/click%28%29-bind%28%29-live%28%29-delegate%28%29.html click(),bind(),liv ...
- jquery获取系统当前时间
//判断是否在前面加0function getNow(s) { return s < 10 ? '0' + s: s;} var myDate = new Date(); var year=my ...
- 模拟赛T1 素数
没有链接 描述: 给p,q,求a^2+b^2 = p*q解的个数,p,q是素数 沙雕打表结论题 然后怼了3h吼爆零 题解 首先这是个结论题 然后这是证明 代码 #include <stdio.h ...
- codevs 1077 多源最短路
题目描述 Description 已知n个点(n<=100),给你n*n的方阵,a[i,j]表示从第i个点到第j个点的直接距离. 现在有Q个询问,每个询问两个正整数,a和b,让你求a到b之间的最 ...
- 【bzoj3451】Tyvj1953 Normal 期望+树的点分治+FFT
题目描述 给你一棵 $n$ 个点的树,对这棵树进行随机点分治,每次随机一个点作为分治中心.定义消耗时间为每层分治的子树大小之和,求消耗时间的期望. 输入 第一行一个整数n,表示树的大小接下来n-1行每 ...