前言

我对博客的想法一直都是能跑就行……好吧,能跑就行是假的,喜欢做乱七八糟的《负面优化》是真的。

继上一次我对WordPress的一些诗山进行优化后,我突然想给我博客做一些《反向优化》了。

开玩笑的,我主要做的还是一些小的美化或者对主题功能的合理化修改。

小~调整

  1. 以下是我这段时间以来对Oyiso主题的一些小的调整,各位可根据自身需求参考修改
  2. 我的主题调整思路是根据我的博客《小改学习志》而言优化的,有且只针对单用户博客进行优化。

我的博客网站,使用WordPress驱动,主题使用Oyiso主题。

当初选择这款主题其实有且只有一个原因:

简洁,但功能并不少

这对我而言便是恰到好处,以及当初选这款主题的人并不多(截止2026年7月23日23:25,这款主题的用户群有且只有89人),虽然可能会存在一些同质化问题,但不会非常严重,以及较为清晰的主题框架、主题作者较为良好的编码习惯使代码仍有清晰的结构,并且极低的更新频率足以便于我对一些功能进行合理化的调整。

底部链接

和其他主题一样,这又是一个老生常谈的问题,就比如我的网站并没有进行ICP备案,我为了修改底部的一些信息,比如把原先挂备案号的改成挂一些友链平台编号(比如萌ICP备)、将文章公开协议改为CC-BY-NC-ND 4.0协议、改赞助商和"Copyright ©"一处的时间等等就选择直接在主题的footer.php上改了。

虽然到后面主题更新后会显得有些繁琐,但毕竟这又不是静态博客系统,没有专门的"_config.yaml"(当然可能是我自己在使用过程中大意了没发现)要改的信息也不多,干脆直接在原文件上改也没显得有多麻烦。

不过,为了显示某些选项,有些设置仍然得去主题设置上开(因为我改的不算非常彻底,当然你直接改后台代码我认为也没有多少问题)

评论头像系统

Oyiso主题默认使用的头像接口是Cravatar的,因为一些众所周知的原因我并不是很喜欢用这个头像系统,在这个假期空闲的时间里我便将这个头像系统改为WeAvatar的了。

关于头像系统的相关配置,Oyiso主题是直接给他塞进主题目录下的"/modules/get-user-avatar.php"里了,在这段php代码中,他调用的逻辑是这样的:

<?php
 // get-user-avatar.php文件,前略
 if (!empty($user_avatar)) {
     $avatar = "<img alt='{$alt}' src='{$user_avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
 } else {
     // 如果没有设置自定义头像,显示cravatar的头像
     if ($email && preg_match('/^\d+@qq\.com$/', $email)) {
         $avatar_url = 'https://q1.qlogo.cn/g?b=qq&nk=' . explode('@', $email)[0] . '&s=640';
         $avatar = "<img src='$avatar_url' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
     } else {
         $address = strtolower(trim($email));
         $hash = md5($address);
         $avatar = "<img alt='{$alt}' src='https://cravatar.cn/avatar/{$hash}?s=400&d=mp' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
     }
 }
 // get-user-avatar.php文件,后略

关于他对QQ邮箱的调用逻辑我们暂且不管,他这块地方使用Cravatar服务获取用户头像的逻辑主要就集中在11行以后,这块地方直接使用的邮箱的MD5值去获取头像

简单看一眼WeAvatar的官方文档:

他所使用的是邮箱的SHA256或MD5值请求的,虽然推荐是SHA256,但为了省事,用MD5值也不是不行,将就原先的值凑合着用,并且他的参数设置也差不多,s为大小,r为评级,d为指定返回的默认头像参数设置,具体可参考官方文档https://weavatar.com/doc来进行设置。

我此处的src是这么修改的:

src='https://weavatar.com/avatar/{$hash}?s=128&r=G'

这个主题中,在这个文件里需要修改两处:42行和88行处,修改的时候要留意一下(以Oyiso Theme v1.5.2举例)

文章卡片

书接上回,这个主题把文章翻到底会有这个文章卡片。

原版的版权协议是写的CC-BY-NC-SA 4.0,由于我选择的文章公开协议是CC-BY-NC-ND 4.0,所以这个地方需要做一点小的调整,这里改成CC-BY-NC-ND 4.0只需要去把这个图标和外链改了就行。

定位到主题根目录的single.php文件到161-169行,就是这一段代码

<li>
     <p>版权协议</p>
     <p class="cc">
         <a href="https://creativecommons.org" title="Creative Commons" target="_blank"><i
                 class="iconfont icon-cc-logo"></i></a>
         <a href="https://creativecommons.org/licenses/by/4.0/" title="Attribution" target="_blank"><i
                 class="iconfont icon-cc-by"></i></a>
         <a href="https://creativecommons.org/licenses/by-nc/4.0/" title="NonCommercial" target="_blank"><i
                 class="iconfont icon-cc-nc"></i></a>
         <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" title="ShareAlike" target="_blank"><i
                 class="iconfont icon-cc-sa"></i></a>
     </p>
 </li>

直接看这一串代码的最后一个a标签,把这一串链接改为:

<a href="https://creativecommons.org/licenses/by-nc-nd/4.0/" title="NoDerivatives" target="_blank"><i class="iconfont icon-cc-nd"></i></a>

改完后便是这个样子了

加字体

可能是我的审美比较low,不是非常喜欢微软雅黑这一类的默认字体,为了使我网站的打开速度更慢+更加《花里胡哨》,我选择给网站换一个字体。

由于经费有限,并且我的服务器托管地方不在国内,这种个性比较强的字体相对而言更大,加载更费时间,我选择直接调用第三方api。

我网站选用的是京华老宋体(https://fonts.zeoseven.com/items/309/)这个我认为在访问上能达到一种微妙的平衡。

下拉到嵌入字体那选择HTML强化,打开主题设置选择自定义代码,将<style>标签外的(不包括标签本身)代码粘贴到"自定义HTML代码-头部",标签内的(不包括<style></style>标签本身)粘贴到自定义CSS内,然后保存更改即可。

Redis缓存

这个已经是一个老生常谈的优化方式了,具体参考子比主题官方发的这一篇文章:https://www.zibll.com/1997.html操作。

LaTeX渲染

部分主题原生就有数学公式渲染方案,请优先参考你所使用的主题的方案

本站原先使用的是MathJax渲染数学公式了,新版WordPress 7.0原生支持数学公式,我这里给个Demo

虽然但是,这个字体真的有点Word味。

如果你的WordPress版本是7.0以下也想用本站以前使用的方案,可以直接把以下代码粘贴至主题设置中自定义代码里的"自定义HTML代码-头部"一处然后保存即可。

<script type="text/javascript" async src="https://cdn.jsdelivr.net/npm/mathjax@4/tex-svg.js"></script>
 <script type="text/javascript">
     MathJax = {
         loader: {
             load: ['[tex]/physics']// 增加扩展包,如不需要可以删去
         },
         tex: {
             inlineMath: [['$', '$'], ['\\(', '\\)']],// 标记LaTeX公式的符号
             displayMath: [['$$', '$$'],['\\[', '\\]']],
             packages: {'[+]': ['physics']} // 增加扩展包,如不需要可以删去
         }, 
         svg: {
             fontCache: 'global'
         },
         options: {
         enableMenu: false // 关闭右击菜单显示
       }
     };
 </script>

CDN&插件优化

可以参考这一篇:https://www.haoyu233.com/2326.html

关于CDN的选择,不要选择那种跑路云即可。

换服务器

开历史倒车

是这样的,将博客从"春雨笔记"改名为"小改学习志"并决定迁站的时候我使用的是腾讯云,那个时候我趁着服务器199就可以入,我就直接入了两年。

由于原服务器的一些众所周知的问题实在过于诗山,80GB的硬盘完全不够用,但我的博客本体才2GB左右,以及续费价格实在太高了,600打底,正好蛋蛋七最近出了香港大带宽BGP的服务器,毕竟咱也是蛋蛋七老用户了,遇到这种情况当然是火速下单去试试水。

由于首销有永久7折,我上了一年。拿到机子后就测了个速:

这个线路表现也是很不错的,带宽是跑满100Mbps的(可能是因为凌晨测速),硬盘速度虽然没有那么理想(因为我装的乌班图24,有点奢侈)但完全够用。

走到这我便把站点给迁移了。

以前用的服务器

bye,陪伴了我一年半的腾讯云。

《开时代倒车》

玄学问题

现在是AI时代,落后就要挨打

前情提要

刚迁站不久我便计划发2026Weekly29,结果就发现遇到了很罕见的发布失败的问题,然后我一脸诧异,关了Nginx防火墙里的一堆策略最后把防火墙也关了,然后开了维护模式把文章发了出去,开了维护模式后就发出去了。

神秘报错

进入某个界面的时候发现全是报错,首先是注意到错误日志中的"WP Super Cache",我尝试禁用这个插件,结果仍无济于事。

我这个时候我便觉得与其拖着,还不如丢给ai,看能不能修复,反正我站有备份。

修复过程

这个时候我便把问题丢给了AI,然后他先问问能否正常调用WordPress API:

按照DeepSeek给的操作,我便创建了个test-api.php扔到了网站根目录下,结果当我尝试访问这个文件的时候,又双叒叕叕叕叕叕叕叕叕报错了。

大致问题就是函数未定义,DeepSeek给的建议就是在测试文件中加载WordPress

改完后访问,返回了200,然后按照AI所给的建议重新装一遍WordPress,再试了一遍果然没这个问题了。

然后这个问题便告一段落了。

小结

这个问题估计是在我迁站的时候可能出了点问题(当然我也不排除是缓存问题还是在更新的时候WP抽风了)

同时我也想说:

现在是AI时代,落后就要挨打

正确使用AI可以让其成为一个好的助手,帮助我们更高效的排查和修复所出现的问题。

最后的话

不知不觉间这篇文章就这么水沝淼㵘㵘㵘㵘㵘㵘㵘㵘完一篇文章了。

也快周末了,同时有些同学的假期托管也进入尾声了,最后,祝各位周末(假期)愉快!