友链自助申请
wordpress博客友情链接自助申请插件
★ 0stars
0forks
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/rugu443/friendlink-apply/archive/refs/heads/main.zipWordPress 友情链接自助申请插件
一个功能完整、安全可靠的 WordPress 友情链接自助申请插件,支持用户自助提交友情链接申请,管理员审核,自动发送邮件通知,回链检测等功能。
插件特点
- 安全可靠:完善的 nonce 验证、权限检查、数据过滤和输出转义
- 响应式设计:完美适配桌面端和移动端
- 易于使用:支持短代码和页面模板两种方式
- 高度可定制:支持自定义显示样式、表单标题和描述
- 回链检测:自动检测对方网站是否添加了回链
- 邮件通知:支持四种邮件模板自定义
- 链接管理:独立的链接管理功能,支持启用、禁用、批量操作
- 自动审批:可开启自动审批功能,符合条件的申请自动通过
功能特性
1. 后台管理界面
- 独立的后台管理页面,可查看所有申请
- 支持待审核、已通过、已拒绝三种状态管理
- 一键通过、拒绝、删除申请
- 支持拒绝时填写原因
- 审核通过后自动添加到 WordPress 链接管理
- 支持批量操作和搜索筛选
- 申请详情弹窗查看
2. 链接管理
- 独立的"所有链接"管理页面
- 查看所有已添加的友情链接
- 支持启用/禁用链接
- 支持批量检测回链
- 支持批量启用、禁用、删除链接
- 支持编辑链接信息
- 显示回链状态和响应时间
3. 前端申请表单
- 使用短代码
[friendlink_apply_form]即可在任意页面显示申请表单 - 支持自定义表单标题和描述
- 已登录用户自动获取邮箱,无需重复填写
- 表单验证确保数据完整性
- 美观的表单界面和加载状态提示
4. 一键获取网站信息
- 根据网站地址自动获取网站标题、图标、描述等信息
- 智能解析多种图标格式(favicon、apple-touch-icon 等)
- 支持相对路径和绝对路径的图标 URL
- 自动填充表单字段,提升用户体验
5. 邮件通知系统
- 管理员通知邮件:用户提交申请后,自动发送邮件给管理员
- 提交确认邮件:用户提交申请后,自动发送确认邮件给申请人
- 审核通过邮件:审核通过后,自动发送通知邮件给申请人
- 审核拒绝邮件:审核拒绝后,自动发送通知邮件给申请人(包含拒绝原因)
6. 友链展示功能
- 支持在前端展示已通过的友情链接
- 多种显示样式:卡片式、列表式、简约式
- 可自定义显示数量和标题
- 显示回链状态标识
7. 回链检测机制
插件采用多层次、全方位的回链检测策略,确保检测的准确性和兼容性:
检测方式一览
| 序号 | 检测方式 | 说明 | 适用场景 |
|---|---|---|---|
| 1 | 静态 HTML <a> 标签检测 |
解析页面 HTML,检查所有 <a> 标签的 href 属性 |
通用网站 |
| 2 | Base64 编码 URL 解码检测 | 解码 Base64 编码的链接(如 golink= 参数) |
使用加密跳转的网站 |
| 3 | data-local-links 属性检测 | 解析 AeroCore 主题的本地友链数据(Base64 编码的 JSON) | AeroCore 主题 |
| 4 | AeroCore 动态链接 API 检测 | 通过 AJAX API (getLinkListLinks) 获取友链列表 |
AeroCore 主题 |
检测流程
┌─────────────────────────────────────────────────────────────┐
│ 回链检测流程 │
├─────────────────────────────────────────────────────────────┤
│ 1. 静态 HTML 检测 │
│ ├── 解析 <a> 标签 │
│ ├── 解码 Base64 编码链接 │
│ └── 解析 data-local-links 属性 │
│ │
│ 2. 动态 API 检测(如果静态检测未找到) │
│ └── 调用 AeroCore API 获取友链列表 │
│ │
│ 3. 返回检测结果 │
│ ├── has_backlink: 是否存在回链 │
│ ├── response_time: 响应时间(毫秒) │
│ └── site_status: 网站状态(ok/client_error/server_error) │
└─────────────────────────────────────────────────────────────┘
功能特点
- 自动检测:对方网站是否添加了回链
- 手动重检:支持手动重新检测
- 状态显示:显示检测状态和结果
- 批量检测:支持批量检测所有友链
- 响应时间:记录网站响应时长
- 网站状态:检测网站是否可访问
8. 自动审批功能
- 可开启自动审批,符合条件的申请自动通过
- 自动添加到 WordPress 链接管理
- 自动发送通知邮件
安装方法
- 将整个插件文件夹上传到 WordPress 的
/wp-content/plugins/目录 - 在 WordPress 后台"插件"菜单中激活"友链自助申请"插件
- 在"友链申请"菜单中配置插件设置
使用方法
方法一:使用页面模板(推荐)
- 在 WordPress 后台创建新页面
- 在右侧"页面属性"中选择"[Sotms]友链申请"模板
- 发布页面即可
方法二:使用短代码
在任意页面或文章中使用短代码:
[friendlink_apply_form]
自定义标题和描述:
[friendlink_apply_form title="申请友链" description="欢迎申请友情链接"]
后台管理
申请管理
- 进入"友链申请"菜单 → "申请列表"
- 查看"待审核"列表中的申请
- 点击"通过"或"拒绝"按钮审核申请
- 拒绝时可以填写拒绝原因
- 支持批量操作和搜索筛选
链接管理
- 进入"友链申请"菜单 → "所有链接"
- 查看所有已添加的友情链接
- 可以启用/禁用单个链接
- 支持批量检测回链
- 支持批量启用、禁用、删除链接
- 可以编辑链接信息
插件设置
- 进入"友链申请"菜单 → "插件设置"
- 自定义表单标题和描述
- 配置是否显示友链列表
- 配置是否显示回链状态
- 选择友链显示样式(卡片式/列表式/简约式)
- 开启/关闭自动审批功能
表单字段说明
| 字段 | 是否必填 | 说明 |
|---|---|---|
| 网站标题 | 是 | 申请网站的标题 |
| 网站地址 | 是 | 申请网站的 URL |
| 网站图标 | 否 | 网站的 favicon 图标 URL |
| 网站描述 | 否 | 网站的简要描述 |
| 邮箱地址 | 是 | 用于接收审核结果通知(已登录用户自动获取) |
邮件模板变量
在邮件模板中可以使用以下变量:
| 变量 | 说明 |
|---|---|
{blog_name} |
网站名称 |
{blog_url} |
网站地址 |
{site_name} |
申请网站标题 |
{site_url} |
申请网站地址 |
{site_description} |
申请网站描述 |
{email} |
申请人邮箱 |
{reject_reason} |
拒绝原因(仅拒绝邮件可用) |
文件结构
friendlink-apply/
├── wp-friendlink-apply.php # 插件主文件
├── page-template-friendlink-apply.php # 页面模板
├── README.md # 说明文档
├── includes/
│ ├── class-admin.php # 后台管理类
│ ├── class-frontend.php # 前端表单类
│ ├── class-email.php # 邮件发送类
│ ├── class-config.php # 配置管理类
│ └── class-backlink.php # 回链检测类
├── templates/
│ ├── admin-applications.php # 后台申请列表模板
│ ├── admin-links.php # 后台链接管理模板
│ ├── admin-frontend-settings.php # 前台设置页面模板
│ ├── admin-help.php # 帮助页面模板
│ └── frontend-form.php # 前端表单模板
└── assets/
├── css/
│ ├── admin.css # 后台样式
│ └── frontend.css # 前端样式
└── js/
├── admin.js # 后台脚本
└── frontend.js # 前端脚本
安全特性
- Nonce 验证:所有 AJAX 请求都有 nonce 验证
- 权限检查:管理操作使用
current_user_can()检查权限 - 输入过滤:使用
sanitize_text_field()、esc_url_raw()等函数过滤输入 - 输出转义:模板使用
esc_html()、esc_attr()、esc_url()转义输出 - 数据库安全:使用
$wpdb->prepare()预处理语句防止 SQL 注入
CSS 变量
插件使用 CSS 变量,方便主题自定义:
:root {
--fl-primary: #667eea;
--fl-success: #28a745;
--fl-danger: #dc3545;
--fl-warning: #fd7e14;
--fl-text: #333;
--fl-bg: #fff;
--fl-radius: 8px;
--fl-shadow: 0 2px 10px rgba(0,0,0,0.08);
--fl-transition: all 0.3s ease;
}
更新日志
2.2.0
- 新增独立的链接管理功能
- 新增链接启用/禁用功能
- 新增批量检测回链功能
- 新增批量启用、禁用、删除链接功能
- 新增链接编辑功能
- 新增拒绝原因填写功能
- 优化回链检测机制
- 优化后台管理界面
- 修复已知问题
2.0.0
- 重构插件架构
- 新增回链检测功能
- 新增自动审批功能
- 新增多种显示样式
- 优化邮件通知系统
- 修复安全问题
1.0.0
- 初始版本发布
- 支持友链申请、审核、邮件通知等核心功能
许可证
GPL v2 or later
支持
如有问题或建议,请访问插件主页或联系开发者。
- 插件主页:https://www.x8xx.cn/applink.html
- 作者:树洞笔记
- 作者主页:https://www.x8xx.cn