自助友链申请插件

一款为 Emlog 博客系统设计的自助友链申请插件,通过短代码在文章中插入友链申请按钮。

部分主题不支持显示按钮只显示代码需要自行修改。

功能特性

  • 使用短代码 [card type="friendlink"] 在文章中插入申请按钮
  • 点击按钮弹出申请表单模态框
  • 表单包含网站名称、链接、图标和介绍字段
  • 基于 Cookie 防止重复提交(有效期 365 天)
  • 提交的友链默认隐藏,等待站长审核
  • 自动检测数据库中是否存在 icon 字段

安装步骤

  1. selflink 文件夹上传到 content/plugins/ 目录
  2. 登录 Emlog 后台,进入「插件」页面
  3. 找到「自助友链」并点击「启用」

使用说明

短代码

在文章内容中插入以下短代码:

[card type="friendlink"]

插件会自动将短代码替换为「申请友链」按钮。

申请流程

  1. 访客在文章中看到「申请友链」按钮
  2. 点击按钮弹出申请表单
  3. 填写网站信息并提交
  4. 提交成功后显示「提交成功!等待站长审核」提示
  5. 访客在 365 天内再次访问时会显示已提交状态

审核管理

提交的友链会保存到 Emlog 的 emlog_link 表中,状态为隐藏(hide = 'y')。

站长在后台「外观」→「链接」页面中:

  • 可以查看所有待审核的友链(隐藏状态)
  • 审核通过后将状态改为显示(取消隐藏)
  • 可以编辑或删除友链

表单字段

字段 必填 说明 最大长度
网站名称 友链网站的名称 30 字符
网站链接 友链网站的完整 URL 75 字符
网站图标 网站图标的 URL -
网站介绍 网站的简短描述 255 字符

技术说明

Cookie 机制

插件使用 Cookie selflink_submitted 来防止重复提交:

  • 提交成功后设置 Cookie,有效期 365 天
  • 访客再次访问时检测 Cookie,如果存在则显示已提交状态
  • 提供「重新申请」按钮,可删除 Cookie 并重新提交

图标字段兼容

插件会自动检测 emlog_link 表中是否存在 icon 字段:

  • 如果存在,直接将图标 URL 保存到 icon 字段
  • 如果不存在,将图标 URL 嵌入到 description 字段中,格式为 [icon]URL[/icon]

内容区域检测

插件会自动检测文章内容所在的 DOM 元素,支持以下选择器:

  • #logDetailContent
  • .log-content
  • .article-content
  • .post-content
  • .post-body
  • .content
  • .blog-content
  • .entry-content
  • .single-content
  • .article-body

如果以上选择器都未匹配到,会使用 document.body

删除插件

删除插件时不会清理任何数据,提交的友链记录会保留在数据库中。

版本

v1.0

下载

https://cnb.cool/linzihao/selflink