WordPress无插件用简单代码实现漂亮分页功能

我们大部分选择的WordPress主题都是自带分页功能的,但是有些主题尤其是英文主题没有自带分页还是简单的前一页,后一页这样简单的分页,不是这么符合我们用户习惯。虽然我们可以使用WP-PageNavi插件快速实现分页,但是本着对于插件能少用就少用的习惯,还是喜欢不用插件实现分页。

于是老蒋有翻阅网上有这样的分页模块功能不?当然是有的,这里找到一个原来出自林小沐同学的脚本。我们可以根据实际的需要再修改样式。

第一、定义脚本部分

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>";}}
}

第二、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;}

第三、调出分页部分

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

我们可以添加到需要的主题中。这里参考自:https://devework.com/wordpress-page-navigation.html

本文出处:老蒋部落 » WordPress无插件用简单代码实现漂亮分页功能 | 欢迎分享( 公众号:老蒋朋友圈 )

公众号 「老蒋朋友圈」获取站长新知 / 加QQ群 【1012423279】获取商家优惠推送