大绵羊外链跳转插件 self-updates
大绵羊外链跳转插件是专为 WordPress 站点开发的外部链接管理插件。插件的主要功能是拦截文章中的外部链接,在跳转前提醒用户即将离开本站,提升用户安全意识并优化用户体验。
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/dmmyblog/dmy-link/archive/refs/heads/main.zipShips its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.
大绵羊外链跳转插件
插件版本:1.5.0
作者:大绵羊&天无神话
插件描述
大绵羊外链跳转插件是专为 WordPress 站点开发的外部链接管理插件。插件的主要功能是拦截文章中的外部链接,在跳转前提醒用户即将离开本站,提升用户安全意识并优化用户体验。用户可以自由选择提示页面的样式,还可以通过白名单设置来避免对信任的外部链接进行干扰。
插件功能
1. 自动拦截外部链接
插件会自动检查并拦截文章中的外部链接,所有非本站链接都会跳转到提示页面,提醒用户即将跳转到外部网站。
2. 白名单功能
用户可以在插件设置中添加白名单链接,指定哪些外部链接不受拦截,直接访问。白名单链接无需加 http:// 或 https://,每行一个即可。
3. 多种提示页面样式
插件提供五种风格的提示页面,用户可以根据需求选择合适的样式:
- 默认样式
- 哔哩哔哩风格
- 腾讯风格
- CSDN风格
- 知乎风格
- jump风格[1.3.5]
- tiktok风格[1.3.5]
- moxing风格[1.3.5]
4. 自定义 Logo
用户可以上传自定义 Logo 图片,替换插件的默认 Logo。如果不设置,插件不会默认使用网站的 Logo。
5. 外部链接重定向
点击外部链接时,插件会首先跳转到提示页面,再通过重定向跳转到目标链接。
6. 易用的后台设置界面
插件基于 Codestar Framework 提供了直观、易用的后台设置界面,用户可以轻松进行各项配置。
7.当跳转链接过期时,插件会引导用户到错误页面
8. 跳转页广告位 [1.5.0 新增]
跳转页是全站曝光最高的页面之一。1.5.0 起可以在跳转页放一个广告位 / 内容位:
- 两种内容形式:「图片 + 链接」或「自定义 HTML / 广告代码」(支持
iframe;第三方脚本需开启「原样输出」,自带样式的代码可选「透明容器」) - 三种位置:提示框下方、提示框上方、底部悬浮横幅(悬浮横幅自带关闭按钮),适配全部 8 套皮肤
- 角标文字可自定义(默认「广告」,可留空);可选仅对未登录访客展示
- 倒计时自动跳转(0~30 秒,默认关闭):倒计时期间访客停留在跳转页;点击「取消自动跳转」或按任意键即可中断,切到后台标签页也会自动停止,确保安全提示不会形同虚设;倒计时文案、取消按钮、取消后的提示均可自定义
- 外观自定义:广告位宽度、卡片背景色(支持透明度)、文字颜色、强调色、圆角,以及仅在跳转页生效的自定义 CSS
- 设置面板提供「预览跳转页」链接,保存后一键查看效果
- 默认关闭,不启用时跳转页不会多输出任何内容
主题作者可通过以下过滤器二次定制(均在 src/ad-slot.php):
| 过滤器 | 说明 |
|---|---|
dmy_link_ad_config |
修改最终的广告配置数组(类型、位置、图片、链接、HTML 等),返回 null 可临时隐藏 |
dmy_link_ad_html |
修改广告位输出的 HTML |
dmy_link_ad_allowed_html |
扩展广告 HTML 的 wp_kses 白名单 |
dmy_link_ad_countdown |
修改倒计时秒数(返回 0 关闭) |
dmy_link_ad_texts |
修改倒计时的三段文案(text / stop / cancelled) |
dmy_link_ad_inline_style |
修改跳转页内联输出的自定义样式 |
// 示例:只在文章页点出的外链上显示广告
add_filter('dmy_link_ad_config', function ($config) {
return wp_get_referer() && strpos(wp_get_referer(), '/archives/') !== false ? $config : null;
});
使用方法
- 安装并激活插件。
- 进入 WordPress 后台,点击菜单中的“外链跳转插件”。
- 在插件设置中,您可以: - 配置外部链接白名单。 - 选择提示页面样式。 - 上传自定义 Logo。
- 保存设置后,插件将自动生效,所有文章中的外部链接都会进行拦截和跳转提示。
插件设置
- 基本设置:提供插件总开关,可以随时启用或关闭插件功能。
- 白名单设置:用户可以输入信任的外部链接,插件将跳过这些链接,不进行跳转提示。
- 样式设置:提供八种不同的页面样式,包括默认、哔哩哔哩、腾讯、CSDN、知乎风格,以及1.3.5版本新增的jump、tiktok、moxing风格。
- 主题社区功能:支持7b2主题圈子功能和子比主题社区帖子功能,可自定义CSS选择器。[1.3.5新增]
- Logo 设置:可以上传一个 Logo 图片,替换默认的 Logo,提升网站个性化。
- 跳转页广告:在跳转页展示图片横幅或自定义 HTML 广告位,可选提示框下方 / 提示框上方 / 底部悬浮三种位置,可仅对未登录访客展示,并可开启可中断的倒计时自动跳转。[1.5.0 新增]
- 安全设置:跳转令牌采用 HMAC-SHA256 签名,无需写入数据库,兼容 CDN / Nginx 整页缓存;可自定义链接有效期(默认 5 分钟,上限 24 小时),并提供 Referer 防护与旧链接兼容开关。[1.5.0 重构]
插件优势
- 提高用户安全:提醒用户即将跳转到外部网站,防止潜在的钓鱼网站和恶意网站。
- 增强用户体验:通过多样化的页面风格,提升提示页面的视觉效果和用户体验。
- 灵活配置:支持白名单功能,避免不必要的干扰,同时提供多个风格,满足不同用户需求。
插件更新日志
- [1.5.0]
- 重构跳转令牌为 HMAC-SHA256 签名机制,增加有效期、篡改校验和无状态处理,兼容 CDN / Nginx 整页缓存。
- 修复公开 AJAX、
?a=参数、白名单、Referer、伪协议及 HTML 链接解析等安全问题。 - 新增跳转页广告位,支持图片或 HTML、自定义位置与样式、访客展示控制和可中断倒计时。
- 优化子比主题适配:仅接管主题生成的
/?golink=地址,排除域名使用主题配置,其他主题功能交回主题处理。 - 优化 Logo 自动继承、长文章处理、停用卸载、多语言加载及函数命名,提升兼容性。
- [1.4.0]
- 修复子比主题 CSF 设置面板重复输出、评论链接重复处理及用户详情模态框冲突问题。
- 增强 AJAX Referer 校验和用户输入清理,兼容 Nginx 缓存环境并降低接口被外部滥用的风险。
- 调整子比主题适配注册时机,确保主题和自定义代码加载完成后再执行相关覆盖逻辑。
- 优化
the_content配置读取、纯 URL 处理、随机数生成,并增加 GitHub Releases 自动更新检测。
- [1.3.7]
- 修复内部链接被误判为外部链接的问题,站内链接不再触发跳转拦截。
- 修复
/path/page等相对路径识别异常,减少与主题或其他插件的兼容性冲突。 - 强化 Referer 防护、整体运行稳定性和后台菜单入口。
- [1.3.6]
- 修复 URL 传输过程中
+号被转换为空格,避免带参数链接跳转错误。
- 修复 URL 传输过程中
- [1.3.5]
- 新增 AES-256-CBC 加密模式,以及 jump、tiktok、moxing 三种跳转页风格。
- 支持 JavaScript 动态加载链接转换,并完善输入验证、URL 校验、XSS 防护、权限控制和 transient 存储。
- 增加对子比主题和 7b 主题圈子功能的适配。
- [1.2.0]
- 以带有效期的 Token 机制替代原 Base64 方案,新增后台过期时间设置,默认有效期为 5 分钟。
- 加强 URL 安全处理和恶意链接防护,链接过期时显示错误提示并提供返回首页入口。
- 优化 transient 处理,避免跳转链接刷新后立即失效,并改善链接过期前的使用体验。
- [1.1.1]
- 优化跳转页 HTML 结构,改善页面兼容性。
- 增加手机端适配,提升移动设备上的显示效果。
- [1.0.0]
- 初始版本,提供默认、腾讯、CSDN、哔哩哔哩和知乎五种跳转页样式。
详细信息请参考 changelog.md 文件。
插件免责声明
-
本插件是开源免费使用的,但禁止修改插件的版权信息或将插件用于商业目的。插件作者保留所有版权。
插件支持
-
使用框架:Codestar Framework
-
社区支持:欢迎加入插件使用qq群,我们将定期更新并提供支持。