1.整合Bootstrap分页代码

* 因为wordpress默认仅仅提供简单分页, 所以要实现数字分页,需要自定义函数,wordpress可以结合bootstrap制作分页,bootstrap提供了分页的样式,可以减少对样式的书写。

1.复制下面的代码到functions.php函数中

/**
* 数字分页函数
* @Param int $range 数字分页的宽度
* @Return string|empty 输出分页的HTML代码
*/
function bootstrap_pagenavi( $range = 4 ) {
global $paged,$wp_query;
if ( !$max_page ) {
$max_page = $wp_query->max_num_pages;
}
if( $max_page >1 ) {
echo "<div class='pagination'>";
if( !$paged ){
$paged = 1;
}
if( $paged != 1 ) {
echo "<li><a href='".get_pagenum_link(1) ."' title='跳转到首页'>首页</a></li>";
}
echo '<li>';previous_posts_link('上一页');echo '</li>'; if ( $max_page >$range ) {
if( $paged <$range ) {
for( $i = 1; $i <= ($range +1); $i++ ) {
echo "<li"; if($i==$paged)echo " class='active'";
echo " ><a href='".get_pagenum_link($i) ."'"; echo ">$i</a></li>";
}
}elseif($paged >= ($max_page -ceil(($range/2)))){
for($i = $max_page -$range;$i <= $max_page;$i++){
echo "<li"; if($i==$paged)echo " class='active'";
echo " ><a href='".get_pagenum_link($i) ."'"; echo ">$i</a></li>";
}
}elseif($paged >= $range &&$paged <($max_page -ceil(($range/2)))){
for($i = ($paged -ceil($range/2));$i <= ($paged +ceil(($range/2)));$i++){
echo "<li"; if($i==$paged)echo " class='active'";
echo " ><a href='".get_pagenum_link($i) ."'"; echo ">$i</a></li>";
}
}
}else{
for($i = 1;$i <= $max_page;$i++){
echo "<li"; if($i==$paged)echo " class='active'";
echo " ><a href='".get_pagenum_link($i) ."'"; echo ">$i</a></li>";
}
}
echo '<li>'; next_posts_link('下一页');echo '</li>';
if($paged != $max_page){
echo "<li><a href='".get_pagenum_link($max_page) ."' title='跳转到最后一页'>尾页</a></li>";
}
echo '<span>共['.$max_page.']页</span>';
echo "</div>\n";
}
}

2.在category.php或者归档页面archive.php或者其他模板文件中都可以。

<?php bootstrap_pagenavi();?>

最终效果:

如果把函数中的div类. pagination改成.pager,则效果图如下:

如果没有使用bootstrap框架,可以复制下面css文件实现样式

/*------------------
分页部分的CSS
------------------*/
.pagination{
height: 25px;
line-height: 25px;
_background: #F9F9F9;
padding: 2px 5px;
margin: 20px 4px;
_border: solid 1px #ccc;
_text-align: center;
} .pagination a{
padding:4px 6px 4px 6px;
margin:0 2px 0 2px;
border:1px solid #aaa;
text-decoration:none;
color:#333;
} .pagination a.active{
background:#ff6f3d;
color:#fff;
} .pagination a:hover{
background:#ff6f3d;
color:#fff;
}

WordPress 整合Bootstrap制作分页代码的更多相关文章

  1. ThinkPHP 整合Bootstrap Ajax分页

    ThinkPHP Ajax分页代码 publicfunction index() { $where=array(); $name = I('name'); if(!empty($name)){ $wh ...

  2. 基于BootStrap的分页代码实现

    public class PageUtil { //targetUrl 访问url totalNum总记录数 currentPage 当前页数 pageSize每页的大小 public static ...

  3. 使用KnockoutJs+Bootstrap实现分页

    [后端人员耍前端系列]KnockoutJs篇:使用KnockoutJs+Bootstrap实现分页   一.引言 由于最近公司的系统需要改版,改版的新系统我打算使用KnockoutJs来制作Web前端 ...

  4. Angularjs + Bootstrap 制作的一个TODO List

    看了一个关于Angularjs的视频,视频内容讲解的是如何制作一款TODO list形式的SPA(Simple Page Application,单页面应用).为了增强理解,下面写了一篇文章,用以复习 ...

  5. Bootstrap<基础四> 代码

    Bootstrap 允许您以两种方式显示代码: 第一种是 <code> 标签.如果您想要内联显示代码,那么您应该使用 <code> 标签. 第二种是 <pre> 标 ...

  6. bootstrap制作搜索框及添加回车搜索事件

    下面是开发中用bootstrap制作的一个搜索框,以及给搜索框添加回车搜索事件的一个小案例. bootstrap制作搜索框及添加回车搜索事件 下面是功能实现的代码: <!DOCTYPE html ...

  7. Bootstrap Paginator分页插件

    Bootstrap Paginator分页插件使用示例 最近做的asp.netMVC项目中需要对数据列表进行分类,这个本来就是基于bootstrap开发的后台,因此也就想着bootstrap是否有分页 ...

  8. JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox

    1 学习计划 1.实现区域导入功能 n OCUpload一键上传插件使用 n 将文件上传到Action n POI简介 n 使用POI解析Excel文件 n 完成数据库操作 n 使用pinyin4J生 ...

  9. phpcms v9模板制作常用代码集合(转)

    phpcms v9模板制作常用代码集合(个人收藏) 1.截取调用标题长度 {str_cut($r[title],36,'')} 2.格式化时间 调用格式化时间 2011-05-06 11:22:33 ...

  10. phpcms v9模板制作常用代码集合

    phpcms v9模板制作常用代码集合(个人收藏) 1.截取调用标题长度 {str_cut($r[title],36,'')} 2.格式化时间 调用格式化时间 2011-05-06 11:22:33 ...

随机推荐

  1. 关于商业智能(Business Intelligence,简称BI)的认识

    一.早期(1958年)定义 商业智能描述了一系列的概念和方法,通过应用基于事实的支持系统来辅助商业决策的制定. 二.帆软数据调研 帆软数据应用研究院对770多家企业的1400多名从业人员进行了调研(云 ...

  2. 【已解决】严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]

    Web开发项目中,启动Tomcat时出现错误 这是因为之前启动了Tomcat服务器,但是没有正常的关闭,造成8080端口号的进程依旧在系统后台运行着,导致Tomcat重启失败. cmd taskkil ...

  3. HTTP内容协商机制和断点续传

  4. C++一些例子

    虚析构 #include<iostream> class Base { public: Base() { std::cout << "base 构造" &l ...

  5. #Dijkstra#洛谷 4943 密室

    题目 分析 考虑答案只可能是分别到或者哈利一个人到两个房间, 那么在罗恩的时候先不建不可走的边,等到哈利走的时候再建边 代码 #include <cstdio> #include < ...

  6. OpenHarmony创新赛|赋能直播第三期

     开放原子开源大赛OpenHarmony创新赛赋能直播间持续邀请众多技术专家一起分享应用开发技术知识,本期推出OpenHarmony应用开发之音视频播放器和三方库的使用和方法,助力开发者掌握多媒体应用 ...

  7. 遵循这些MySQL设计规范,再也没被组长喷过

    分享是最有效的学习方式. 博客:https://blog.ktdaddy.com/ 故事 会议室里,小猫挠着头,心里暗暗叫苦着"哎,这代码都撸完了呀,改起来成本也太大了." 原来就 ...

  8. Spring源码 19 IOC getBean方法

    前面实现了 ClassPathXmlApplicationContext 的构造,接下来分析其调用的 getBean 方法. 以 getBean(UserDao.class) 为例. 1 Abstra ...

  9. Buffer 与 Mat 互转

    Linux系统做音视频开发,很多时候要用到opencv,就需要把图片Buffer数据转换成Mat对象来使用 Buffer 转 Mat Mat Buffer2Mat(unsigned char* buf ...

  10. C++调用Python-6:调用Python类

    # mytest.py class Test: def hello(self): print("this is test class hello function no params ret ...