WP酷 WP酷
  • 主题
  • 教程
  • 插件
  • 官方 QQ 群
  • 建站推荐
  • 联系
  • nicetheme® 奈思主题
  • 注册
    登录
立即登录
  • 请到 [后台->外观->菜单] 中设置菜单
首页 › WordPress 教程 › 抛弃PageNavi:免插件实现WordPress分页功能

抛弃PageNavi:免插件实现WordPress分页功能

PCDotFan10年前

抛弃PageNavi:免插件实现WordPress分页功能-WP酷

这是关于免插件的第四篇文章,感觉再继续下去都可以做一个系列了……话不多说,一些不是很完善的主题或是出于个人喜好并没有文章分页功能,国外的著名插件WP-PageNavi也成了部分博客的必需品,本着能用代码实现的绝不用插件原则,我们来一起看下Zanblog博主如何做到不用插件实现WordPress分页功能:

 

具体实现方法:

将下面一段函数代码添加到主题的functions.php:

function pagination($query_string){
global $posts_per_page, $paged;
$my_query = new WP_Query($query_string ."&posts_per_page=-1");
$total_posts = $my_query->post_count;
if(empty($paged))$paged = 1;
$prev = $paged - 1;
$next = $paged + 1;
$range = 2; // only edit this if you want to show more page-links
$showitems = ($range * 2)+1;
 
$pages = ceil($total_posts/$posts_per_page);
if(1 != $pages){
echo "<div class='pagination'>";
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "
<a href='".get_pagenum_link(1)."'>最前</a>":"";
echo ($paged > 1 && $showitems < $pages)? "
<a href='".get_pagenum_link($prev)."'>上一页</a>":"";
 
for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 ||
    $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? "<span class='current'>".$i."</span>":
"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
}
}
 
echo ($paged < $pages && $showitems < $pages) ?
"<a href='".get_pagenum_link($next)."'>下一页</a>" :"";
echo ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) ?
"<a href='".get_pagenum_link($pages)."'>最后</a>":"";
echo "</div>\n";
}
}

 用下面的代码替换原来模板中默认翻页代码或分页插件代码,如果主题本身就没有分页功能就插入到你认为合适的地方(一般放在index.php或archives.php里):

<?php pagination($query_string); ?>

 最后添加样式到style.css文件:

.pagination{
line-height:23px;
}
 
.pagination span, .pagination a{
font-size:12px;
margin: 2px 6px 2px 0;
background:#fff;
border:1px solid #e5e5e5;
color:#787878;
padding:2px 5px 2px 5px;
text-decoration:none;
}
 
.pagination a:hover{
background: #8391A7;
border:1px solid #fff;
color:#fff;
}
 
.pagination .current{
background: #fff;
border:1px solid #8d8d8d;
color:#393939;
font-size:12px;
padding:2px 5px 2px 5px;
}

 

#免插件
11
分享

本站下载管理系统「dl.mywpku.com」因年久失修而永久关闭。若需获得往年主题,请至 WP酷的百度网盘(提取码: 5rbm) 自行搜索下载。默认解压密码为「www.mywpku.com」。

对您造成的不便,敬请谅解!

PCDotFan 站长
文章 435评论 859
相关文章
  • [6.0 更新中文汉化]极度流行的SEO插件 – WordPress SEO by Yoast
  • WordPress 新用户注册邮件链接提示「您的密码重设链接无效」
  • AMP – 为 WordPress 移动站点操作全球访问优化
  • 去除谷歌服务 – WordPress 国外主题全方位加速
  • 使用 WP-CLI 简化 WordPress 操作流程
  • WordPress 基础开发 – 一探 WordPress Hook 机制及示例应用
  • 优化静态资源 – WordPress 国外主题全方位加速
  • WordPress 实现微信登录
评论 (4)
再想想
  • 小怪兽

    博主你好。。为什么不弄评论表情呢。。

    10年前
  • 饭团同学x

    完全不分页,爱多长多长,爱看不看= =

    10年前
    • WP酷

      @饭团同学x 像饭团那样的文章如果加了翻页看得更累=-=~文章分页主要还是一些什么XXX教程类大长篇用得多

      10年前
  • 可入眼

    方法不错,学习了!

    6年前
PCDotFan
站长
若无特别注明,则默认我发布的所有文章均为内容原创 / 翻译原创,转载时请保留来源。
435文章
859评论
3K获赞
猜你喜欢
CK-Video – WordPress实现插入无广告的优酷视频 v0.681
9年前
删除wp_head中无关紧要的代码
9年前
WordPress 出现侧边栏错位原因分析及解决方法
8年前
  • 杂记
  • WordPress 付费主题推荐
Copyright © 2023 WP酷. Designed by nicetheme. 琼ICP备13002067号-1