« WordPress插件Digg Button seo校内整理SEO校内整理:wordpress去除重复的内容 »

wordpress插件pagerfix:不错的博客分页插件

本内容来自:SEO校内 想要了解更多的网站建设资料

在博客中经常要遇到一个分页的问题,就是网页被深深地被埋到WEB站点里面,其中一个原因就是缺乏分页。可以哦实现一个插件,来修正默认的分页链接<prev 和 next>。

下面的插件就是干这个的。将它保存为pagerfix.php,放置在博客的插件文件夹下,然后从wordpress后台页面激活它:

<?php
/*
Plugin Name: PagerFix
Plugin URI: http://www.seoegghead.com/
Description: Makes the paging in WP more SE-friendly.
Author: Jaimie Sirovich
Version: 1.0
Author URI: http://www.seoegghead.com/
*/ 
function pager_fix($seperator = ' | ',
                   $after_previous = '&nbsp;&nbsp;',
                   $before_next = '&nbsp;&nbsp;',
                   $prelabel='&laquo; Previous Page',
                   $nxtlabel='Next Page &raquo;',
                   $current_page_tag = 'b')
{    
  global $request, $posts_per_page, $wpdb, $paged;
    
  posts_nav_link('',$prelabel,'');
  echo $after_previous;
  preg_match('#FROM (.*) GROUP BY#', $request, $matches);
  $fromwhere = $matches[1];
  $numposts = $wpdb->get_var("SELECT COUNT(ID) FROM $fromwhere");
  $max_num_pages = ceil($numposts / $posts_per_page);
  if ($max_num_pages > 1)
  {
    for ($cnt = 1; $cnt <= $max_num_pages; $cnt++)
    {
      if ($current_page_tag && $paged == $cnt)
      {
        $begin_link = "<$current_page_tag>"; $end_link = "</$current_page_tag>";
      }
      else
      {
        $begin_link = ''; $end_link = '';
      }
          
      $x[] = $begin_link .
             '<a href="' . get_pagenum_link($cnt) . '">' .
             $cnt . '</a>' . $end_link;
      }
  
      echo join($seperator, $x);
      
  }
  echo $before_next;
  posts_nav_link('','',$nxtlabel);
  
}
?>

在创建并激活该插件之后,需要在模板的某个地方调用pager_fix() 函数。例如在默认的文件index.php中调用:

<div class="navigation">
  <div class="alignleft" >
   <?php next_post_link('&laquo; previous Entries') ?>
  </div>
  <div class="alignright">
   <?php next_post_link('&next; previous Entries') ?>
   </div>
</div>

资料来源:《搜索引擎优化高级编程》
了解一下更多关于WordPress插件参看:利用WordPress创建一个良好SEO博客
本内容欢迎转载,请注明链接!
 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。