用户反馈:设置页「数据导出服务」那个链接点下去在本页跳走了, 把正在改的设置页顶掉。 根因不是链接写错 —— 源码里 target="_blank" 一直在。是框架渲染 desc 时 走 wp_kses($explain_value, $allowedtags) (inc/options-framework/includes/class-options-interface.php:210/315), 而 WordPress 全局 $allowedtags['a'] 只有 href + title,target 和 rel 被静默剥掉。实测: 输入 <a href="..." target="_blank" rel="noopener">数据导出服务</a> 输出 <a href="...">数据导出服务</a> ← target/rel 消失 修法:在 kratos_options() 开头给 $allowedtags['a'] 补上 target / rel。 只放宽这两个属性,不放宽别的。时机是对的 —— _optionsframework_options() 在第 47 行就调 kratos_options(),早于所有 wp_kses 调用。 影响的不止这一个链接:robots.txt、设置-阅读、两个翻译 API 的链接 全都是同样情况,一并修好(共 5 处)。 线上真实环境验证: ALLOWED_BEFORE=href,title ALLOWED_AFTER=href,title,target,rel HAS_TARGET=YES 版本号 4.1.0 → 4.1.1:同一版本号重发 PUC 认不出(它用 version_compare 判严格大于),已装 4.1.0 的站点永远拿不到这次修复。readme 按用户确认 **并入现有 V4.1.0 节**,不新增一节(节数仍 57)。 补的判据(都做了注入反证): - _mkzip410.py 11c 段 5 条:白名单补了 target/rel、补的位置在 kratos_options() 内、「数据导出服务」链接带 target、没拿 window.open 绕过 - _mkzip410_falsify.py 17/18 组:删白名单必须变红,18/18 抓到 - _readme410.py 改造成替换模式 + 反证(不换首节必须红,42/0) 顺带修两个已过期的地方: - _mkzip410_falsify.py 的「版本号没改」注入锚点写死 "Version: 4.1.0", 升 4.1.1 后锚点未命中、反证报"没抓到"(其实是注入脚本自己过期) ⇒ 改成动态读当前版本号 - _publish410.sh 的 readme 首节判据要求 == 本版号,但 4.1.1 并入 V4.1.0 节 ⇒ 改成「首节是 4.1.x」+「本版修复说明真在里面」两头都验 线上已发布:md5 bd12b67f2c4ca5bec5053a02e49f2fe6 PUC 实测 HAS_UPDATE=YES(已装 4.1.0 → 新 4.1.1)
14 lines
608 B
CSS
14 lines
608 B
CSS
/*
|
|
Theme Name: Kratos_Yang
|
|
Text Domain: kratos_Yang
|
|
Version: 4.1.1
|
|
Requires PHP: 7.0
|
|
Description: 这是一个Kratos主题的分支版本,用来增加一些定制化功能。
|
|
Tags: 博客, 双栏, 响应式, 自定义背景, 自定义颜色, 自定义图标, 自定义菜单, 特色图像, 收录优化, 邮件中心, 主题选项, 小工具, 文章置顶, 无障碍友好
|
|
Author: Yongquan Yang
|
|
Author URI: https://yangyq.net
|
|
Theme URI: https://code.yangyq.net/laoyang/wordpress-kratos-yang
|
|
License: MIT License
|
|
License URI: https://code.yangyq.net/laoyang/wordpress-kratos-yang/src/branch/main/LICENSE
|
|
*/
|