普通视图

博客装修日记-BUG修理篇

2025年11月26日 00:16

不如直接说是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,就这样了……

image-20251125232821395

找了一下代码应该是在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出错

image-20251125235118938

这条应该是刚才执行 SQL 语句,把 CSV 里的 PostName 更新到了数据库的 post_name 字段,导致带了重复的字段进去,执行这条 SQL定位一下问题 post_name

SELECT ID, post_name FROM wp_hidezemberposts WHERE post_name LIKE '%/%';

果然找到了一些:

image-20251125235631052

执行修复,SUBSTRING_INDEX的作用是“只取最后一个斜杠之后的内容”。

UPDATE wp_hidezemberposts
SET post_name = SUBSTRING_INDEX(post_name, '/', -1)
WHERE post_name LIKE '%/%';

回到 WordPress 后台的固定链接,保存更改等待生效。

最后,赞扬Gemini 3,我的新晋心头好,帮我搞定了很多代码小问题,等我下次再用热力图那个功能来挑战下。

❌