一个零侵入、独立运行的 WordPress 友链插件,前台访客可自助申请友链,后台自动检测对方是否已添加本站链接,支持定时巡检、样式自定义、页面模板等完整功能。


一、插件简介

友链申请与互检测是一款独立 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 权限检查


三、安装方法

方法一:后台上传(推荐)

  1. 下载插件压缩包

  2. WordPress 后台 → 插件 → 安装插件 → 上传插件

  3. 选择压缩包,点击”现在安装”

  4. 安装完成后点击”启用”

方法二:FTP 上传

  1. 解压插件压缩包

  2. friend-link-apply 文件夹上传到 wp-content/plugins/ 目录

  3. WordPress 后台 → 插件 → 找到”友链申请与互检测”→ 点击”启用”

启用后插件会自动创建两张数据表(申请记录表、检测记录表)并初始化默认设置,无需额外配置。


四、使用教程

4.1 创建友链列表页面

方式一:页面模板(推荐,无需短代码)

  1. 后台 → 页面 → 新建页面

  2. 右侧”页面属性”→ 模板 → 选择 “友链列表”

  3. 发布页面即可,自动展示全宽浅色背景的友链列表

在任意页面或文章的正文中插入:

[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

作者:主题源码阁:小熊猫 插件主页:https://www.zhuticode.com/
  • 本站名称:主题源码阁
  • 本站永久地址:www.zhuticode.com
  • 转载本网站任何内容,请按照转载方式正确书写本站原文地址
  • 本站资源解压密码一般都为www.zhuticode.com如发现链接失效,请联系在线客服更新。
  • 本站所有代码模板仅供学习交流使用,请勿用于商业用途,及违法侵权行为使用均与本站无关。
  • 本站提供的源码、模板、插件等等其他资源,除资源本身问题外,都不包含免费技术服务,请大家谅解!
  • 注意:本站资源多为网络收集,如涉及版权问题请及时与站长联系,我们会在第一时间内删除您的资源的。
  • 本站所有资源来源于公开互联网搜集和网友投稿提供,仅供个人学习研究使用,若本站收录的内容对您的版权或者利益造成损害,请提供相应的资质证明发邮件或者联系站长,站长微信:xiaoxiongmao0504 邮箱xiaoxiongmaoboke@163.com 我们将于3个工作日内予以删除。