为了搜索引擎更好的收录而修改了永久链接的格式,但是出了一个问题,热门日志的链接都不好用了,看了下,都是老的永久链接的格式,看了下代码,原来代码使用了数据库的guid字段,修改永久链接不会自动的修改对应的guid,没有办法,只好手工修改数据库了,本来是可以修改代码纠正的,但是想想还是把数据库里面的值也修改下好了。

使用的SQL语句:
update wp_posts set guid=concat(‘http://www.jiehoo.com/’,post_name,’.htm’) where guid like ‘http://www.jiehoo.com/2006/1%/’;

思来想去,还是决定修改CountPosts.php的代码,让它拼出那个URL来,其实也很简单:
function TopHitsList($beforeRead = ‘ (‘, $afterRead = ‘ ).’, $top = 5,
$beforeAll = ‘<ul>’, $beforeLink ='<li>’,
$afterLink = ‘</li>’, $afterAll = ‘</ul>’) {
    global $wpdb, $table_prefix;
    $SQL = "SELECT ID, post_title, post_hits,  post_name FROM " . $table_prefix .
        "posts ORDER BY post_hits DESC LIMIT 0, " . $top;
    echo $beforeAll;
    $tops = $wpdb->get_results($SQL);
    foreach ($tops as $top) {
      echo $beforeLink , "<a href=\"/" , $top->post_name , ".htm\">" , $top->post_title , $beforeRead , $top->post_hits , $afterRead , "</a>", $afterLink;
    }
    echo $afterAll;
   
}

之所以最终决定修改插件的代码而不是更新guid是因为保不准什么时候我可能还是会修改文章的缩略名的,因为以前不少文章都是没有自定义缩略名的,或者是使用下划线做为单词分隔符的,修改了那些就要我手工去更新数据库未免太傻了。

(Visited 146 times, 1 visits today)