本内容来自: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 = ' ',
$before_next = ' ',
$prelabel='« Previous Page',
$nxtlabel='Next Page »',
$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('« previous Entries') ?>
</div>
<div class="alignright">
<?php next_post_link('&next; previous Entries') ?>
</div>
</div>
资料来源:《搜索引擎优化高级编程》
了解一下更多关于WordPress插件参看:利用WordPress创建一个良好SEO博客
本内容欢迎转载,请注明链接!