首页的分页-Page Navigation

原下载地址:http://www.lesterchan.net/portfolio/programming.php

修正了程序里的一点小错误。
使用方法:将文件保存为:page-navi.php上传至plugins目录,active。
在index.php的适当位置加入:

  1. < ?php page_navigation(); ?>
  1. < ?php
  2. /*
  3. Plugin Name: Page Navigation
  4. Plugin URI: http://www.lesterchan.net/portfolio/programming.php
  5. Description: Adds A Page Navigation To Your WordPress. Please Make Sure Post Paged Is Turned On.
  6. Version: 1.2
  7. Author: GaMerZ
  8. Author URI: http://www.lesterchan.net
  9. */
  10.  
  11. function page_navigation($before='', $after='', $prelabel='&laquo;', $nxtlabel='&gt;') {
  12.     global $p, $what_to_show, $request, $posts_per_page, $wpdb;
  13.     global $HTTP_SERVER_VARS, $paged;
  14.     global $querystring_start, $querystring_equal, $querystring_separator;
  15.     if (empty($p) && ($what_to_show == 'paged')) {
  16.         $nxt_request = $request;
  17.         $whichpage = $_GET&#91;'paged'];
  18.         if(empty($whichpage))  $whichpage = 1;
  19.         $qstr = $HTTP_SERVER_VARS&#91;'QUERY_STRING'];
  20.         if (!empty($qstr)) {
  21.             $qstr = preg_replace("/&paged=d{0,}/","",$qstr);
  22.             $qstr = preg_replace("/paged=d{0,}/","",$qstr);
  23.          } elseif (stristr($HTTP_SERVER_VARS&#91;'REQUEST_URI'], $HTTP_SERVER_VARS['SCRIPT_NAME'] )) {
  24.             if ('' != $qstr = str_replace($HTTP_SERVER_VARS&#91;'SCRIPT_NAME'], '', $HTTP_SERVER_VARS['REQUEST_URI']) ) {
  25.                 $qstr = preg_replace("/^//", "", $qstr);
  26.                 $qstr = preg_replace("/paged/d{0,}//", "", $qstr);     
  27.                 $qstr = preg_replace("/paged/d{0,}/", "", $qstr);
  28.                 $qstr = preg_replace("//$/", "", $qstr);
  29.             }
  30.         }
  31.         if ($pos = strpos(strtoupper($request), 'LIMIT')) {
  32.             $nxt_request = substr($request, 0, $pos);
  33.         }
  34.         $nxt_result = $wpdb->query($nxt_request);
  35.         $numposts = $wpdb->num_rows;
  36.         $max_page = ceil($numposts / $posts_per_page) ;
  37.  
  38.         echo $before.'Pages ('.$max_page.') : <b>';
  39.         if ($whichpage >= 4)
  40.             echo '<a href="'.get_settings('siteurl').'/'.get_settings('blogfilename').$querystring_start.($qstr == '' ? '' : $qstr.$querystring_separator) .'paged'.$querystring_equal.'1">?First</a> ... ';
  41.         previous_posts_link($prelabel);
  42.         for($i = $whichpage - 2 ; $i  < = $whichpage +2; $i++) {
  43.             if ($i >= 1 && $i < = $max_page) {
  44.                 if($i == $whichpage)
  45.                     echo '['.$i.'] ';
  46.                 else
  47.                     echo '<a href="'.get_settings('siteurl').'/'.get_settings('blogfilename').$querystring_start.($qstr == '' ? '' : $qstr.$querystring_separator) .'paged'.$querystring_equal.$i.'">'.$i.' ';
  48.             }
  49.         }
  50.         next_posts_link($nxtlabel, $max_page);
  51.         if (($whichpage+2) < ($max_page))
  52.             echo ' ... <a href="'.get_settings('siteurl').'/'.get_settings('blogfilename').$querystring_start.($qstr == '' ? '' : $qstr.$querystring_separator) .'paged'.$querystring_equal.$max_page.'">Last &raquo ';
  53.         echo '</b>'.$after;
  54.     }
  55. }
  56. ?>

《首页的分页-Page Navigation》有1个想法

发表评论

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