首页
许愿池
友情链接
承接业务
留言板
摄影作品
访客统计
软件下载
WIN软件
MAC软件
关于站长
Search
1
飞牛圣体-网心云OES一代安装ARM版FnOS全过程
103 阅读
2
移动光猫吉比特GM232改桥接+开启IPV6+开启Telnet方法
79 阅读
3
2023 玩客云root以及绝育教程 1.3版本
67 阅读
4
飞牛系统(FnOS)挂载SMB目录并设置开机自启
57 阅读
5
爱快iKuai企业版X86 3.7.19固件可装插件开心版
45 阅读
人物
动物
风景
数码
网络
硬件
系统
建站
软件
MacOS
Windows
NAS
docker
esxi
AI
情感
登录
/
注册
Search
标签搜索
mac mini
DSM7
宝塔面板
apple
黑苹果
EOS R6
映泰
验证码
m4
photoshop
云层
风景
摄影
人像
儿童
刀马旦
艺术
万泰
吉比特
typecho spamblocker
RongYan
累计撰写
61
篇文章
累计收到
157
条评论
今日撰写
0
篇文章
首页
栏目
人物
动物
风景
数码
网络
硬件
系统
建站
软件
MacOS
Windows
NAS
docker
esxi
AI
情感
页面
许愿池
友情链接
承接业务
留言板
摄影作品
访客统计
软件下载
WIN软件
MAC软件
关于站长
用户登录
登录
注册
搜索到
1
篇与
typecho bug 修复
的结果
2026-01-27
Typecho Joe 主题升级1.3版本后的一些bug修补及美化
序言记录一下Typecho 从1.2升级到1.3过程后的一些修补,有一些是typecho本身的问题,还有一些是JOE主题好久不更新了,似乎和1.3版本有一些不兼容。这个主题是我一直用的,很喜欢,多少年了,虽然也知道不更新一直下去不是事,但是也测试了好多其它的主题,一个能打的都没有。也只能将就着,修修补补继续用吧~JOE主题地址(感谢作者):JOE一、修补记录表1、头像问题Typecho默认使用的是Gravata头像,Gravatar大多数的链接在国内都被墙了,加载失败不说,还影响博客加载速度。一般修改有两种方式,一种直接改主题,另一种改typecho的源码,我这里是直接改源码,当然修改的cravatar链接是一样的打开:/typecho/var/Typecho/common.php,找到 gravatarUrl(大概856行)之前一直用cn,挺好的,最近发现cn的ssl过期了,短时间内似乎未更换,后来发现com也可以用,直接就切换过来了改为这个:$url = $isSecure ? 'https://cravatar.com' : 'https://cravatar.cn';另外在推荐一个,也比较稳定:https://cravatar.com/2、独立页面的链接无法正常生成或获取;侧边栏“随机文章”小工具中,文章条目的链接异常。(joe主题bug)升级到1.3之后发现,独立页所有的链接统一指向主页,都失效了。核心原因:Typecho核心版本的升级可能引入了新的函数或更改了某些函数的调用方式,导致旧版主题中部分兼容代码失效。修复的重点在于更新主题中生成链接的相关代码,确保其与新版Typecho兼容。涉及文件:usr/themes/Joe/public/header.php:此文件通常包含网站的头部信息,独立页面的链接生成可能与此相关。usr/themes/Joe/core/function.php:这是主题的功能函数文件,常用于扩展主题功能,"随机文章"这类小工具的逻辑很可能定义于此。解决办法:下载这里提供的两个修正过的文件替换原文件即可:下载地址(回复可见):隐藏内容,请前往内页查看详情3、后台css显示异常(joe主题bug)解决办法:定位到\admin\css\style.css文件,搜索.typecho-post-area .description,在之后的代码中将其修改成这样即可:{card-default label="原代码:margin-top:-0.5em;" width="80%"}新代码:margin-top:0em;{/card-default}替换完成之后保存然后ctrl+f5刷新网页,就可以看到后台生效了。4、搜索时不会出现搜索关键词的修复(joe主题bug)解决办法:找到usr/themes/Joe/archive.php并打开,找到第25行,如下图所示:将_keywords改为archiveTitle即可,改后如下:再试着搜索一下,正常了:5、给后台撰写文章添加“常用标签选择”功能:修改./admin/write-post.php文件内的如下代码{tabs}{tabs-pane label="需要修改的代码"}<section class="typecho-post-option"> <label for="token-input-tags" class="typecho-label"><?php _e('标签'); ?></label> <p><input id="tags" name="tags" type="text" value="<?php $post->tags(',', false); ?>" class="w-100 text"/></p> </section>{/tabs-pane}{tabs-pane label="修改后的代码"}<section class="typecho-post-option"> <label for="token-input-tags" class="typecho-label"><?php _e('标签'); ?></label> <p> <input id="tags" name="tags" type="text" value="<?php $post->tags(',', false); ?>" class="w-100 text" /> <style> .tagshelper { margin-top: 15px; } .tagshelper-list { list-style: none; border: 1px solid #D9D9D6; padding: 6px 12px; max-height: 240px; overflow: auto; background-color: #FFF; border-radius: 2px; } .tagshelper a { cursor: pointer; padding: 2px 6px; margin: 2px 2px; display: inline-block; border-radius: 2px; text-decoration: none; border: 1px solid #e2e2e2; background: #f9f9f9; font-size: 13px; color: #666; } .tagshelper a:hover { background: #467B96; color: #fff; border-color: #467B96; } </style> <?php $tagsWidget = Typecho_Widget::widget('Widget_Metas_Tag_Cloud', 'sort=count&desc=1&limit=200'); $tagsHtml = ''; if ($tagsWidget->have()) { while ($tagsWidget->next()) { $tagName = $tagsWidget->name; $safeName = addslashes($tagName); $tagsHtml .= "<a onclick=\"$('#tags').tokenInput('add', {id: '{$safeName}', tags: '{$safeName}'});\">{$tagName}</a>"; } } else { $tagsHtml = '暂无标签'; } ?> <script> window.addEventListener('load', function() { if (typeof $ !== 'undefined') { var tagsList = <?php echo json_encode($tagsHtml); ?>; var container = '<div class="tagshelper">常用标签选择:<div class="tagshelper-list">' + tagsList + '</div></div>'; $('#tags').after(container); } }); </script> </p> </section>{/tabs-pane}{/tabs}问题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,如下:需要修改的文件:/joe/assets/css/joe.mode.min.css有两处地方需要修改:{tabs}{tabs-pane label="第一处"} 找到代码html[data-night='night'] .joe_header__above-logo img{display:none} 改成这样html[data-night='night'] .joe_header__above-logo img{display:block;filter:invert(1);}{/tabs-pane}{tabs-pane label="第二处"} 找到代码html[data-night='night'] .joe_header__above-logo svg{display:block} 改成这样html[data-night='night'] .joe_header__above-logo svg{display:none}{/tabs-pane}{/tabs}{message type="info" content="代码解释"/}{callout color="#f0ad4e"}joe_header__above-logo img{display:block;filter:invert(1);}第一段:意思是让logo自动反色显示如果你只想显示正常logo无需反色,则改为joe_header__above-logo img{display:block}{/callout}{callout color="#f0ad4e"}joe_header__above-logo svg{display:none}第二段:意思是让svg不显示{/callout}改完后保存css文件,清空浏览器缓存,有CDN的还要清空一下CDN,刷新页面:
2026年01月27日
8 阅读
3 评论
0 点赞