sablog中“上一篇”“下一篇"优化
效果预览
http://www.blankyao.cn
原文地址http://blankyao.cn/show-63.html你是否厌倦了阅读文章时下面显示的"‹‹ 上一篇 | 下一篇 ››",其实搜索引擎也厌倦了这些内容,那就把这单调的"‹‹ 上一篇 | 下一篇 ››"改为上下篇的文章的标题吧!
对于seo来说有很好的导航作用,这个是很重要的!
首先在./global.php里插入这个函数
//显示上一篇和下一篇的标题 function bottom_title($action,$articleid){ global $DB,$db_prefix; $quote=$action=="next"?">":"<"; $order=$action=="next"?"ASC":"DESC"; $query=$DB->query("SELECT dateline FROM {$db_prefix}articles WHERE articleid='$articleid'"); $lastpost = $DB->result($query, 0); $row=$DB->fetch_one_array("SELECT title FROM {$db_prefix}articles WHERE dateline ".$quote." '$lastpost' AND visible='1' ORDER BY dateline ".$order." LIMIT 1"); return $row['title']; }
} ;
这个函数是整个功能的核心
下一步就是来调用这个函数了
在./index.php里”显示文章“的那一块做如下修改
// 显示文章
elseif ($_GET['action'] == 'show') {
session_start();
$articleid = intval($_GET['id']);
// 获取文章信息
$article = $DB->fetch_one_array("SELECT a.*,c.name as cname,u.username
FROM {$db_prefix}articles a
LEFT JOIN {$db_prefix}categories c ON c.cid=a.cid
LEFT JOIN {$db_prefix}users u ON a.uid=u.userid
WHERE a.visible='1' AND articleid='$articleid'");
if (!$article) {
message('记录不存在', './');
}
if ($_POST['readpassword'] && ($article['readpassword'] == addslashes($_POST['readpassword']))) {
$_SESSION['readpassword_'.$articleid] = addslashes($_POST['readpassword']);
}
//加入下面两句,就是为了调用
//显示上篇下篇的标题
$pre=bottom_title("pre",$articleid);
$next=bottom_title("next",$articleid); ;
在这里调用结束了,下一步就是输出到模板里了
在./template/你的模板名字/show.php中找到“上一篇”和“下一篇”,分别修改为$pre和$next就可以了!
OK,就这样了,这个功能实现挺简单的,在速度上要比默认的慢一些,但是如果流量不是巨大的那种站也体会不到慢,毕竟只是多了个查询而已,而这个功能对seo可是很重要的!同样的,Discuz!中也可以加上这个功能的!