我们都知道实现wordpress分页导航的插件有很多,并且WP自带的就“较早文章”和“最近文章”两个内置函数,今天展示的这段代码是不用插件来实现wordpress分页导航,主要就是把分页功能集成到主题当中。

效果可以看http://www.mengzhiyi.info分类目录下的效果。

一、添加功能代码至 functions.php(注意放在php循环内即<?php  ?>标签内)

Source code    
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

Source code    
.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中相应的位置。

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

 

这样就可以省下使用一个插件的,不过有人认为使用插件和集成到主题中加载时间是相同的,我个人也比较纠结,不过个人还是倾向于集成到主题当中。

注:核心代码来源于 http://www.ei2u.com/wordpress/work/273.html

非插件实现wordpress分页导航

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.