WP Manifestindependent plugin directory
manifest / social / friendlink-apply

友链自助申请

wordpress博客友情链接自助申请插件

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/rugu443/friendlink-apply/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress 友情链接自助申请插件

一个功能完整、安全可靠的 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 链接管理
  • 自动发送通知邮件

安装方法

  1. 将整个插件文件夹上传到 WordPress 的 /wp-content/plugins/ 目录
  2. 在 WordPress 后台"插件"菜单中激活"友链自助申请"插件
  3. 在"友链申请"菜单中配置插件设置

使用方法

方法一:使用页面模板(推荐)

  1. 在 WordPress 后台创建新页面
  2. 在右侧"页面属性"中选择"[Sotms]友链申请"模板
  3. 发布页面即可

方法二:使用短代码

在任意页面或文章中使用短代码:

[friendlink_apply_form]

自定义标题和描述:

[friendlink_apply_form title="申请友链" description="欢迎申请友情链接"]

后台管理

申请管理

  1. 进入"友链申请"菜单 → "申请列表"
  2. 查看"待审核"列表中的申请
  3. 点击"通过"或"拒绝"按钮审核申请
  4. 拒绝时可以填写拒绝原因
  5. 支持批量操作和搜索筛选

链接管理

  1. 进入"友链申请"菜单 → "所有链接"
  2. 查看所有已添加的友情链接
  3. 可以启用/禁用单个链接
  4. 支持批量检测回链
  5. 支持批量启用、禁用、删除链接
  6. 可以编辑链接信息

插件设置

  1. 进入"友链申请"菜单 → "插件设置"
  2. 自定义表单标题和描述
  3. 配置是否显示友链列表
  4. 配置是否显示回链状态
  5. 选择友链显示样式(卡片式/列表式/简约式)
  6. 开启/关闭自动审批功能

表单字段说明

字段 是否必填 说明
网站标题 是 申请网站的标题
网站地址 是 申请网站的 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

支持

如有问题或建议,请访问插件主页或联系开发者。