上次第一次 PR 进的是 Myriad,算是入门。本站用的主题是 Sakurairo(4k+ star),平时用下来攒了几个想改的点,就顺手也提了 PR。一天里提了三个,目前都还是 OPEN,等作者 review。
一、为什么要动这个主题
背景很简单:
1. 音乐播放器想用自己传的歌,HTTPS 站点混用 http 图源会被浏览器拦,听不了;
2. 本站有「说说」,刷多了归档日历很难看,也想在后台单独管理;
3. 评论区提交按钮在 PHP8 下会直接挂掉,这个是真 bug,不修没法用。
都是自己站点先遇到,才想到往上游提。流程还是 Fork、开分支、改、push、PR,和上次一样。
二、PR #1429 本地曲库 + 播放加固
分支 feat/music-player。主要做本地曲库 / playlist.json、歌词封面,还有 HTTPS 混合内容、登录后 wp_rest nonce 403 这些。
链接: https://github.com/mirai-mamori/Sakurairo/pull/1429
如果你也想用本地音乐,把歌和 playlist.json 放到主题约定的目录,页面上就能播。混合内容那块是站点上了 HTTPS 之后必须处理的,不然控制台一堆红字。
# 本地曲库思路:只存「逻辑名」,地址交给配置
# 换服务器时改配置,不用改播放列表
playlist.json → 歌曲清单(标题、文件名、歌词、封面)
music/xxx.mp3 → 实际音频,路径可在配置里改
# 图源一律用 https 或相对路径,避免混合内容
三、PR #1430 说说时间轴、独立管理
分支 feat/shuoshuo。加了前台说说时间轴、后台独立管理,归档日历不被说说挤爆;管理员还可以点「刷新归档」(归档缓存大约 24 小时)。
链接: https://github.com/mirai-mamori/Sakurairo/pull/1430
本站说说一多,归档侧边栏就很难用。这个改完以后,说说和文章是分开的,看起来清爽很多。
# 思路:说说和文章分开算
# 归档日历只统计文章,说说走独立时间轴
# 缓存 24h,后台留一个「刷新归档」手动清
四、PR #1431 修 comment_form 提交按钮崩溃
分支 fix/comment-form-sprintf,改动很小,但是是真 bug:
链接: https://github.com/mirai-mamori/Sakurairo/pull/1431
提交按钮文案里如果带 %,会被 sprintf 当成格式符,PHP8 直接 Fatal。改成转义就正常了:
// sprintf 把 % 当格式符;文案里本来就要显示 % 时
// 必须写成 %%,否则 PHP8 直接 Fatal,页面白屏
// submit_button(sprintf('50% off')); // 挂
// submit_button(sprintf('50%% off')); // 正常
五、小结
三个 PR 加起来十几个文件,都还在等 review。和第一次比,流程没变,只是敢改的范围大了一点:从补翻译,到改功能、修崩溃。
如果你也在用这个主题,或者想参与,可以直接去仓库看 Issues。具体怎么 Fork、怎么提 PR,上一篇 『Git学习#1』 写过了,这里就不重复了。

Comments NOTHING