Typecho Joe 主题升级1.3版本后的一些bug修补及美化

Typecho Joe 主题升级1.3版本后的一些bug修补及美化

rongyan
2026-01-27 / 2 评论 / 30 阅读 / 正在检测是否收录...

序言

记录一下Typecho 从1.2升级到1.3过程后的一些修补,有一些是typecho本身的问题,还有一些是JOE主题好久不更新了,似乎和1.3版本有一些不兼容。这个主题是我一直用的,很喜欢,多少年了,虽然也知道不更新一直下去不是事,但是也测试了好多其它的主题,一个能打的都没有。也只能将就着,修修补补继续用吧~

JOE主题地址(感谢作者):JOE


一、修补记录表

1、头像问题

Typecho默认使用的是Gravata头像,Gravatar大多数的链接在国内都被墙了,加载失败不说,还影响博客加载速度。一般修改有两种方式,一种直接改主题,另一种改typecho的源码,我这里是直接改源码,当然修改的cravatar链接是一样的

打开:/typecho/var/Typecho/common.php,找到 gravatarUrl(大概856行)
typecho头像链接

之前一直用cn,挺好的,最近发现cn的ssl过期了,短时间内似乎未更换,后来发现com也可以用,直接就切换过来了

改为这个:$url = $isSecure ? 'https://cravatar.com' : 'https://cravatar.cn';
另外在推荐一个,也比较稳定:https://cravatar.com/


2、独立页面的链接无法正常生成或获取;侧边栏“随机文章”小工具中,文章条目的链接异常。(joe主题bug)

typecho 独立页链接说明
升级到1.3之后发现,独立页所有的链接统一指向主页,都失效了。
核心原因:Typecho核心版本的升级可能引入了新的函数或更改了某些函数的调用方式,导致旧版主题中部分兼容代码失效。修复的重点在于更新主题中生成链接的相关代码,确保其与新版Typecho兼容。
涉及文件:
usr/themes/Joe/public/header.php:此文件通常包含网站的头部信息,独立页面的链接生成可能与此相关。
usr/themes/Joe/core/function.php:这是主题的功能函数文件,常用于扩展主题功能,"随机文章"这类小工具的逻辑很可能定义于此。

解决办法:下载这里提供的两个修正过的文件替换原文件即可:

下载地址(回复可见):


3、后台css显示异常(joe主题bug)

JOE主题更新1.3版本后台显示异常

解决办法:定位到\admin\css\style.css文件,搜索.typecho-post-area .description,在之后的代码中将其修改成这样即可:JOE主题更新1.3版本后台显示异常修复

替换完成之后保存然后ctrl+f5刷新网页,就可以看到后台生效了。

4、搜索时不会出现搜索关键词的修复(joe主题bug)

typecho joe主题搜索结果不显示关键词
解决办法:
找到usr/themes/Joe/archive.php并打开,找到第25行,如下图所示:
typecho joe archive.php说明
_keywords改为archiveTitle即可,改后如下:
typecho joe主题修复搜索关键字不回显的BUG
再试着搜索一下,正常了:
typecho joe主题修复搜索关键字不回显后的效果


5、给后台撰写文章添加“常用标签选择”功能:

typecho 常用标签选择功能


修改./admin/write-post.php文件内的如下代码



问题2&3解决办法来源于此作者宗同学,感谢!
问题4解决办法来源于此作者JAVA小学生,包括使用的优化版JOE主题也是来自于他,感谢!

其它还有一些小毛病修改的时候忘了记录了,后期想起再补上~


二、一些美化,基于JOE主题


1、头像呼吸光环和鼠标悬停旋转放大

主题全局设置自定义CSS中,填入如下代码:

/*头像七彩霞云*/
.avatar {
 border-radius: 50%;
 animation: light 4s ease-in-out infinite;
 transition: 0.5s;
}
.avatar:hover {
transform: scale(1.15) rotate(720deg);
}
@keyframes light {
 0%{box-shadow: 0 0 4px #f00;}
 25%{box-shadow: 0 0 16px #0f0;} 
 50%{box-shadow: 0 0 4px #00f;}
 75%{box-shadow: 0 0 16px #0f0;} 
 100%{box-shadow: 0 0 4px #f00;}
}


2、黑夜模式下LOGO显示的问题

JOE主题可以切换白天黑夜模式,可是黑夜模式下LOGO显示的是某个svg而不是我们网站的logo,如下:
typecho joe主题黑夜模式Logo



需要修改的文件:/joe/assets/css/joe.mode.min.css
有两处地方需要修改:




改完后保存css文件,清空浏览器缓存,有CDN的还要清空一下CDN,刷新页面:
typecho joe主题暗黑模式改logo

0

评论 (2)

取消
  1. 头像
    Jonty
    Windows 10 · Google Chrome

    首页二级导航也会失效。当初直接php7.4+typecho1.2.1升级8.2+1.3.0 。不过夜间模式我是logo直接消失了哈哈

    回复
    1. 头像
      rongyan 作者
      MacOS · Google Chrome
      @ Jonty

      为了找到这个暗黑模式下的LOGO位置,我扒了CSS文件整整一个多小时才找到。表情

      回复