sablog中“上一篇”“下一篇"优化

效果预览http://www.blankyao.cn

原文地址http://blankyao.cn/show-63.html你是否厌倦了阅读文章时下面显示的"‹‹ 上一篇 | 下一篇 ››",其实搜索引擎也厌倦了这些内容,那就把这单调的"‹‹ 上一篇 | 下一篇 ››"改为上下篇的文章的标题吧!

对于seo来说有很好的导航作用,这个是很重要的!

首先在./global.php里插入这个函数

[复制到剪切板]
CODE:
//显示上一篇和下一篇的标题  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里”显示文章“的那一块做如下修改

[复制到剪切板]
CODE:
// 显示文章    
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!中也可以加上这个功能的!