无插件仅代码实现 WordPress 分页导航

时间:2022-04-23
本文章向大家介绍无插件仅代码实现 WordPress 分页导航,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

WordPress 分页导航是一个用来代替WordPress默认的“旧文章、新文章”的一个功能,添加了分页,可以让用户快速跳转到所需要的页面,对提升用户体验有很大的帮助。今天就来分享Devework.com目前使用的分页导航代码实现方法,有了这个,相关分页导航插件(如wp-pagenavi)就可以光荣退休啦!

以下代码来自林木木童鞋,感谢原作者。

无插件仅代码实现 WordPress 分页导航教程

一、添加如下代码至主题的funtions.php文件夹内:

function par_pagenavi($range = 9){ global $paged, $wp_query; if ( !$max_page ) {$max_page = $wp_query->max_num_pages;} if($max_page > 1){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>";}} }

二、添加美化代码至主题style.css:

.page_navi{width:100%;height:36px;line-height:36px;text-align:center;overflow:hidden;padding-top:1em;} .page_navi a{padding:3px 8px;margin:2px;text-decoration:none;color:#888;border:1px solid #ccf;} .page_navi a:hover,.page_navi a.current{border:1px solid #356aa0;color:#356aa0;font-weight:bolder;}

三、添加调用代码至主题index.php、archive.php、category.php、search.php:

<div class="page_navi"><?php par_pagenavi(9); ?></div>

上面代码的数字9可以改为你需要的显示数量。