为WordPress添加分页导航[非插件]

作者:我就是个世界 发表于:2010-04-16
      话说WP自带的就“较早文章”和“最近文章”两个内置函数,首页文章显示数又有限,如果要看很早以前的,那要翻得哟~所以我们希望有一排数字,可以让我们喜欢点哪一页就哪一页。目前可实现这个功能的插件太多太多,之前我使用的也曾推荐过的是:《WordPress 分页导航插件: Paginator》。
今天分享的是用纯代码来实现分页导航,先看效果图:

[img][attach]254[/attach][/img]

怎样?效果还过得去吧!有俺强力CSS代码技术做后盾,不怕做不出就怕想不出好样式~哇哈哈,臭屁臭屁了……

进入折腾步骤:

[b]一、添加功能代码至 functions.php(的php循环内)[/b]

[separator]
[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>";}}
}
[/code]

[b]二、添加美化代码至主题style.css[/b]

[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;}
[/code]


[b]三、添加调用代码至主题index.php、archive.php、category.php、search.php[/b]

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

OK,大功造成!又可以干掉一个已为数不多的插件咯!

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

本文转载自:http://immmmm.com/wordpress-page-navigation-without-plugins.html

分享:

扫一扫在手机阅读、分享本文

请发表您的评论