一、插件简介
友链申请与互检测是一款独立 WordPress 插件,不修改主题和核心文件,不依赖任何主题,将适配所有主题,专为需要管理友情链接的站点设计。
访客在前台填写表单提交友链申请,插件自动抓取对方网站检测是否已添加本站链接——检测到回链则自动通过并公开显示,未检测到则保持待审核。后台提供完整的链接列表增强、批量检测、定时巡检和样式自定义功能。
-
当前版本:1.1.4
-
WordPress 要求:5.6 及以上
-
PHP 要求:7.3 – 8.5
-
协议:GPL v2 or later
二、功能特性
前台功能
| 功能 | 说明 |
|---|---|
| 友链申请表单 | 短代码 [friend_links],两列布局,支持网站名称、地址、简介、分类、LOGO |
| 申请入驻弹窗 | 友链列表页顶部按钮,点击弹出申请表单,支持遮罩/✕/Esc 关闭 |
| 友链列表展示 | 短代码 [friend_links],PC 端左侧分类导航 + 右侧卡片网格,移动端顶部横向分类 + 分组展示 |
| LOGO 一键获取 | 填写网站地址后点击”一键获取”,自动抓取目标站 favicon,也可手动填写图片链接 |
| 申请须知 | 后台可自定义内容,支持选择无序列表(•)或有序列表(1. 2. 3.) |
| 提交自动检测 | 提交瞬间自动检测对方是否已回链,已回链自动通过并公开 |
后台功能
| 功能 | 说明 |
|---|---|
| 链接列表增强 | 原生链接管理页新增”检测状态””检测时间”列,支持按状态筛选 |
| 单条/批量检测 | 每条链接可单独检测,也可批量选中检测全部 |
| 统计概览 | 设置页展示总链接数、已互联、未互联、未检测四个统计卡片 |
| 定时巡检 | 开启后每天自动检测一次全部友链状态 |
| 自动返链 | 检测到对方未加本站链接时,自动将该友链设为私密(不可见) |
| 样式自定义 | 主色调、卡片背景、文字颜色、简介颜色、边框色、圆角、阴影,7 项可配 |
| 页面模板 | 无需短代码,在页面属性中直接选择”友链列表”模板即可 |
安全特性
-
所有表单提交带 Nonce 校验 + 蜜罐反垃圾字段
-
所有用户输入经 sanitize 后入库,所有输出经 escape 后渲染
-
数据库查询全部使用
$wpdb->prepare预编译,无 SQL 注入风险 -
LOGO 仅存储 URL 字符串,不允许匿名用户上传图片到媒体库
-
前台颜色配置经十六进制正则校验,防止 CSS 注入
-
后台操作全部带
current_user_can权限检查
三、安装方法
方法一:后台上传(推荐)
-
下载插件压缩包
-
WordPress 后台 → 插件 → 安装插件 → 上传插件
-
选择压缩包,点击”现在安装”
-
安装完成后点击”启用”
方法二:FTP 上传
-
解压插件压缩包
-
将
friend-link-apply文件夹上传到wp-content/plugins/目录 -
WordPress 后台 → 插件 → 找到”友链申请与互检测”→ 点击”启用”
启用后插件会自动创建两张数据表(申请记录表、检测记录表)并初始化默认设置,无需额外配置。
四、使用教程
4.1 创建友链列表页面
方式一:页面模板(推荐,无需短代码)
-
后台 → 页面 → 新建页面
-
右侧”页面属性”→ 模板 → 选择 “友链列表”
-
发布页面即可,自动展示全宽浅色背景的友链列表
在任意页面或文章的正文中插入:
[friend_links]
短代码方式会被主题的内容容器包裹,不会有全宽浅色背景,适合嵌入到已有页面的某个区域。
可选属性:show_cats="no" 隐藏左侧分类导航。
4.2 创建独立申请页面(可选)
在任意页面插入:
[friend_links]
独立申请页面会显示一个带白色背景卡片的完整表单(含申请须知、提交按钮、成功/错误提示)。
注意:友链列表页(无论页面模板还是短代码)顶部已有”申请入驻”按钮,点击会弹出申请表单,弹窗内的表单与独立页面表单功能完全一致。因此通常不需要单独创建申请页面,除非你希望有一个独立的、可直接访问的申请入口。
4.3 后台设置
进入 后台 → 友链检测 设置页:
检测设置:
-
本站 URL:检测对方网站时查找的网址,默认取站点首页
-
检测超时时间:单次请求超时秒数,默认 10 秒
-
定时巡检:开启后每天自动检测全部友链
-
自动返链:检测到对方未回链时自动设为私密
-
申请须知:显示在表单上方的须知内容,每行一条,支持 HTML
-
列表样式:无序列表(•)/ 有序列表(1. 2. 3.)
-
LOGO 字段提示:LOGO 输入框内的 placeholder 文字,留空不显示

样式设置:
-
主色调(分类高亮、竖条装饰、申请按钮)
-
卡片背景色 / 卡片文字色 / 简介文字色 / 卡片边框色
-
卡片圆角(px)/ 是否显示阴影

修改后前台立即生效,无需清缓存。
4.4 审核友链申请
访客提交申请后:
-
若自动检测到回链 → 自动通过,链接公开显示,申请状态为”已通过”
-
若未检测到回链 → 链接默认私密(不公开),申请状态为”待审核”
-
后台 → 链接 → 可编辑链接详情,将”可见”改为”公开”即可通过

五、检测逻辑说明
互链检测采用超链接精准匹配:抓取对方网站首页 HTML,提取所有 <a href> 标签中的链接,与本站 URL(含 http/https、www/非www、带/不带尾斜杠等变体)进行比对。
-
页面文章、评论、导航中纯文本提到本站域名 → 不算已互联
-
页面中存在指向本站的
<a>超链接 → 判定为已互联 -
检测超时、站点异常、HTTP 4xx/5xx → 判定为”异常”
六、更新日志
1.1.4
-
修复互链检测误判:原逻辑全文匹配本站域名,文章/评论中提到域名即误判为已互联
-
修复 LOGO 地址格式校验失败后未阻止提交的问题。
-
修复前台提交申请表单时的致命错误:
wp_insert_link()/wp_update_link()在前台和 cron 场景未自动加载,已添加手动加载保护。 -
LOGO 字段提示文字改为显示在输入框内部(placeholder),与”一句话介绍网站”样式一致。
-
申请表单重构为两列布局(网站名称 + 网站地址并排)
-
申请须知改为灰色背景 + 列表样式,后台可选择有序/无序列表
-
输入框改为浅灰色背景,一键获取按钮改为浅蓝色风格
-
弹窗标题新增粉色圆形对勾图标
-
表单整体瘦身优化,弹窗宽度缩至 580px
-
LOGO 地址字段默认不显示 placeholder 和提示,后台可自定义
-
分类白色卡片宽度收缩为内容宽度并居中,当前分类去掉默认背景,仅 hover 时显示
1.0.x 历史版本
-
初始版本:前台申请表单、自动互检测、后台链接列表增强、独立设置页
-
新增申请入驻弹窗功能
-
插件自注册 [friend_links]友链列表短代码
-
按参考图重构 PC/移动端布局,颜色可配置
-
LOGO 上传改为手动链接 + 一键获取(消除匿名上传风险)
-
左侧分类栏 sticky 悬挂 + scroll spy + 浅色背景
-
新增页面模板功能,无需短代码
-
左侧栏拆分为分类卡 + 申请入驻卡两个独立卡片
七、常见问题
Q:提交申请后显示”致命错误”怎么办? A:请升级到 1.1.2 及以上版本,该版本已修复前台未加载 wp_insert_link() 函数的问题。
Q:对方明明加了友链,为什么检测显示”未互联”? A:检测仅匹配 <a href> 超链接标签。请确认对方页面中存在指向本站的可点击链接,而非纯文本。可在后台点击”检测”手动重试。
Q:可以只允许特定分类的友链显示吗? A:可以。链接设为”私密”则不在前台显示;设为”公开”则按分类展示在对应分组中。
Q:定时巡检什么时候执行? A:开启后,插件会在激活后 1 小时注册每日定时任务,之后每天执行一次。需确保站点有正常访问触发 wp-cron。
Q:卸载插件会删除数据吗? A:通过 WordPress 后台”删除”插件时,会自动删除两张自定义表和所有插件选项。原生链接表(wp_links)中的数据保留。
八、使用说明与授权
本插件源码公开可查,但采用以下授权模式:
会员用户
-
可提出新增功能需求,优先排期开发
-
享受一对一技术支持
-
免费获取所有后续版本更新
普通用户
-
购买后可二开以及使用插件全部功能
-
可提交 Bug 反馈,确认后免费修复
-
不接受新增功能需求https://wwbbm.lanzouv.com/b00rp8qt5c
