博客装修日记-BUG修理篇
不如直接说是Bug修复日记吧…就是一些小问题拖了很久一直没搞,现在终于倒出手了…
1.修复重定向死循环BUG
之前专门写过一篇关于博客重定向的文章,不过当时没有注意一个问题,自动翻译的PostName是大写,这样输入到浏览器又会自动转为小写,在Redirection就会再重定向一次,经常会由于多次重定向提示刷新次数过多无法打开网页。

解决方法也很简单,打开Wordpress数据库,以phpadmin为例,在SQL查询中执行:
UPDATE wp_posts
SET post_name = LOWER(post_name)
WHERE BINARY post_name != LOWER(post_name);
全都改好之后,记得去WordPress 后台的固定链接,点击底部的 “保存更改”,刷新数据库等待生效。
2.显示朋友标识BUG
修复重定向问题时点开文章赫然发现了一个主题的bug(cc @bigfa 哈哈哈哈),开启主题自带的“Friend icon-Show icon when comment author url is in blogroll”,但没想到pingback的评论也会加上icon,就这样了……

找了一下代码应该是在modules/comment.php下,增加一个判断逻辑,完美解决。
function show_friend_icon($comment_author, $comment_id, $comment)
{
// 🛑 新增逻辑:检查评论类型
// 如果是 pingback 或 trackback,直接返回作者名,不加图标
if (in_array($comment->comment_type, ['pingback', 'trackback'])) {
return $comment_author;
}
$comment_author_url = $comment->comment_author_url;
// 如果 URL 为空(有些评论可能没有留网址),也直接返回,避免报错
if (empty($comment_author_url)) {
return $comment_author;
}
// get domain name
$comment_author_url = parse_url($comment_author_url, PHP_URL_HOST);
3.Page页Permalink出错

这条应该是刚才执行 SQL 语句,把 CSV 里的 PostName 更新到了数据库的 post_name 字段,导致带了重复的字段进去,执行这条 SQL定位一下问题 post_name :
SELECT ID, post_name FROM wp_hidezemberposts WHERE post_name LIKE '%/%';
果然找到了一些:

执行修复,SUBSTRING_INDEX的作用是“只取最后一个斜杠之后的内容”。
UPDATE wp_hidezemberposts
SET post_name = SUBSTRING_INDEX(post_name, '/', -1)
WHERE post_name LIKE '%/%';
回到 WordPress 后台的固定链接,保存更改等待生效。
最后,赞扬Gemini 3,我的新晋心头好,帮我搞定了很多代码小问题,等我下次再用热力图那个功能来挑战下。