大绵羊外链跳转插件 v1.4.0 更新(开源)
WordPress

大绵羊外链跳转插件 v1.4.0 更新(开源)

大绵羊头像
大绵羊 大绵羊博客站长2026.06.09 · 约 8 分钟 · 12 评论 · 0 喜爱

1.3.5 上线之后,我以为可以消停一阵了。

"这次不是小修,是一次认真的体检。"

1.3.5 上线之后,我以为可以消停一阵了。

结果没多久,评论区就来了:

「插件跟子比主题 8.9 冲突,建议修复」

子比主题这侧,一直是 天无神话 在负责适配维护。收到反馈我立马打开 QQ 把截图甩给他——

他回:「我子比都没更新呢」

行,然后他进去研究。

不知道过了多久,他说「好了」——然后发来一张插件后台的截图,顺手还把 GitHub 在线更新检测给做了,下一次就可以直接在wordpress插件里面更新啦

昨晚 23:32,他发消息过来:「你去下载新版,测试 7b2 有没有问题,这次是大改。」

我:「b2 更新了?」

他:「不是,插件更新了。」

我:「OK,我明天测。」

最后他补了一句:

「我修了一天,你个刁毛说明天测 ?」

王先生当前心情

大绵羊外链跳转插件 v1.4.0 更新(开源) 插图1
大绵羊外链跳转插件 v1.4.0 更新(开源) 插图2
大绵羊外链跳转插件 v1.4.0 更新(开源) 插图3

猫猫表情包已发出,测试已鸽,版本已上线。

大绵羊外链跳转插件 v1.4.0 更新(开源) 插图4

这次他一查发现问题不止一个——子比 8.9 的内部调整导致链接被处理两次、CSF 设置面板重复输出、用户详情模态框被绕过……于是 1.4.0 就不是"修一个 bug"这么简单了,是拿着显微镜把子比适配层从头到尾过了一遍。

问题修复

"能被叫'严重'的,都是那种跑起来就能看出来不对劲的。"

修复子比主题下 CSF 设置面板重复输出两次的核心 BUG 后台设置面板莫名渲染两遍,这种视觉错误一眼就能发现,实际影响远比看起来大。

修复评论链接过滤器三方冲突(插件 + 子比原版 + 自定义版),链接被处理两次的问题 同一条外链经过三层过滤,最后生成的跳转 URL 套了又套。这次明确了优先级,各归各位。

修复用户详情模态框三方冲突,主题自定义版被绕过的问题 自定义版的弹窗逻辑被原版钩子覆盖,等于白写了。现在执行顺序对了。

修复 dmy_zib_get_user_details_data_modal 中 25 处 __() 国际化缺失

修复 dmy_zib_ajax_user_details_data_modal 中 1 处 __() 国际化缺失

大绵羊外链跳转插件 v1.4.0 更新(开源) 插图5

安全问题修复

"安全这件事,宁可多做一遍,不能少做一次。"

AJAX 接口 dmylink_ajax_convert 增加 Referer 校验,防止外部滥用 兼容 Nginx 缓存环境,不依赖 PHP 输出的 nonce——毕竟有缓存的站点 nonce 本来就容易失效。

用户输入全面清理 $_GET['a']、$_REQUEST['id']、$_POST['url']、$_SERVER['HTTP_REFERER'] 全部过 wp_unslash() 加对应清理函数,不再裸用超全局变量。

子比主题适配增强

"适配这件事,做到'不冲突'只是及格,做到'无感知'才是满分。"

自动接管子比主题的「外链重定向」和「外链重定向鉴权」功能 运行时强制关闭子比相关选项,避免双重处理,不需要用户手动去后台关了。

后台设置面板新增子比主题冲突检测提示 如果检测到子比的外链功能还开着,会主动提示引导你关掉,省去排查时间。

移除子比主题的 the_content_nofollow 过滤器 避免文章外链被处理两次,nofollow 逻辑由插件自己接管。

所有 remove/add 操作移至 zib_require_end 钩子(优先级 99) 确保在主题和自定义函数注册完之后再执行,不抢跑不漏跑。

大绵羊外链跳转插件 v1.4.0 更新(开源) 插图6

产品优化

the_content 过滤器中重复 get_option() 调用优化,改为闭包 use 传入 每次过滤文章内容都调一次数据库,这件事本来就不该发生。

dmy_go_link() 新增第二参数 $link,支持纯链接模式 供 dmy_zib_get_url_link 调用,链接处理更灵活。

rand() 替换为 wp_rand(),提升随机性质量 WordPress 生态里用 wp_rand() 是基本规范,这次补上了。

新增 GitHub Releases 自动更新检测,支持从 GitHub 一键升级 以后有新版本,后台会直接提示,不用再手动来博客刷新了。

大绵羊外链跳转插件 v1.4.0 更新(开源) 插图7

更新日志汇总

code
v1.4.0

? 严重问题修复:
✅ 修复子比主题下 CSF 设置面板重复输出两次的核心 BUG
✅ 修复评论链接过滤器三方冲突(插件+子比原版+自定义版),链接被处理两次的问题
✅ 修复用户详情模态框三方冲突,主题自定义版被绕过的问题
✅ 修复 dmy_zib_get_user_details_data_modal 中 25 处 __() 国际化缺失
✅ 修复 dmy_zib_ajax_user_details_data_modal 中 1 处 __() 国际化缺失

? 安全修复:
✅ AJAX 接口 dmylink_ajax_convert 增加 Referer 校验防止外部滥用(兼容 Nginx 缓存环境)
✅ 用户输入清理:$_GET['a']、$_REQUEST['id']、$_POST['url']、$_SERVER['HTTP_REFERER'] 均使用 wp_unslash() + 对应清理函数

? 子比主题适配增强:
✅ 自动接管子比主题的「外链重定向」和「外链重定向鉴权」功能,运行时强制关闭子比相关选项避免冲突
✅ 后台设置面板增加子比主题冲突检测提示,引导用户关闭子比外链重定向设置
✅ 移除子比主题的 the_content_nofollow 过滤器,避免文章外链被处理两次
✅ 所有 remove/add 操作移至 zib_require_end 钩子(优先级99),确保在主题和自定义函数注册之后执行

? 优化:
✅ the_content 过滤器中重复 get_option() 调用优化,改为闭包 use 传入
✅ dmy_go_link() 新增第二参数 $link,支持纯链接模式(供 dmy_zib_get_url_link 调用)
✅ rand() 替换为 wp_rand(),提升随机性质量
✅ 新增 GitHub Releases 自动更新检测,支持从 GitHub 一键升级

ED

「一个 bug 反馈,拆出来是一串问题;一串问题修完,插件结实了一圈。」

感谢 小蔡蔡 的反馈,感谢 天无神话 把子比侧翻了个底朝天重新梳理了一遍——修了一天,属实不易。

大绵羊外链跳转插件 v1.4.0 更新(开源) 插图8

下一话……老规矩,评论区见。

参考链接

https://github.com/dmmyblog/dmy-link

共同开发 https://wxsnote.cn

文章资源

选择下方资源,下载链接与提取信息都为你整理好啦~

🌸 共 1 份资源

大绵羊外链跳转插件

评论后即可下载

登录并在本文评论区留个言,就能解锁下载啦~

资源仅供学习交流,请遵守资源作者与网盘平台的相关约定哦~

8 条回复

A文章作者M管理员
这里需要一条查重率 0% 的评论
本站需要登录后才能评论,登录一下就能发言啦
  • 小蔡蔡
    小蔡蔡

    哈哈哈?

    • 大绵羊
      大绵羊大绵羊博客站长SVIP 小蔡蔡

      喵喵喵doge

  • 无聊
    无聊

    哈哈哈

  • 齐小波
    齐小波SVIP

    吊图一堆

    • 大绵羊
      大绵羊大绵羊博客站长SVIP 齐小波

      给我康康doge

    • 喵了个咪的
      喵了个咪的 齐小波

      @大绵羊 我爱你

  • 杂鱼
    杂鱼

    看看隐藏

    • 大绵羊
      大绵羊大绵羊博客站长SVIP 杂鱼

      给我康康

  • 咸鱼哥Soren
    咸鱼哥Soren

    学习一下呲牙