🧩 前言:让内容像宝盒一样,等待读者开启

一个优秀的网站不仅要有高质量的内容,还要有巧妙的互动机制。比如一些干货内容,只向用心评论者开放。

现在,我们就一起来探讨一个实现“评论后解锁可见内容”的WordPress 插件。


🔍 一、WordPress评论解锁插件结构一览

该插件的核心功能包括:

  • 短代码封装隐藏内容
  • 评论后设置 Cookie
  • 判断是否已评论以决定是否显示内容
  • 加载自定义样式

完整代码如下:

温馨提示:此处内容需要评论本文后才能查看。

这些功能由几个关键函数组成,下面我们逐个解析它们的用途和意义。


🔨 二、函数详解:每个函数背后的意义与作用

1. set_comment_postid()

当用户提交评论时,这个函数被触发,并设置一个带文章 ID 的 Cookie,例如:reply_123=1,其中 123 是文章的 ID。

📌 作用:

  • 标记用户已对某篇文章发表过评论
  • 设置有效期为 30 天,避免频繁重复评论即可查看
  • 避免全局 Cookie,提高精确度

2. reply_read_shortcode()

这是短代码 [replydis]...[/replydis] 的处理函数。它决定了内容是否展示给用户。

📌 作用:

  • 使用短代码包裹隐藏内容(如一段代码或资源)
  • 检查当前用户是否已评论本文
  • 若未评论,则返回提示信息:“请先评论本文”
  • 若已评论,则返回被隐藏内容

📌 特点:

  • 支持自定义提示语句
  • 判断逻辑更清晰,避免误判

3. has_replied()

该函数负责最终判断用户是否真正“评论过”当前文章。

📌 作用:

  • 检查 Cookie 是否存在对应标识
  • 更加严谨地防止伪造访问

📌 妙处:

  • 防止手动设置 Cookie 即可绕过限制
  • 提升插件的安全性和准确性

4. reply_read_enqueue_style()

用于加载 CSS 文件,使插件样式美观统一。

📌 作用:

  • 加载插件所需的样式表 replydis.css
  • 保持前端界面一致性
  • 可通过 CSS 自定义提示框样式

🎯 三、插件亮点总结:从粗糙到精致的进化之路

功能描述
精确识别文章ID用户评论哪篇,解锁哪篇
游客友好体验用 Cookie 实现便捷解锁
样式可定制支持 CSS 调整外观

我们不要简单地复制粘贴,而是要深思熟虑地重构每一步逻辑。


📚 结语

“知之愈明,则行之愈笃。”

通过这篇文章,你已经了解了如何构建一个“评论可见”插件的核心逻辑。

请记住:好的插件,始于一行代码,终于用户的体验。

By 天海牧歌

东庵每见西庵雪,下涧长流上涧泉。 半夜白云消散后,一轮明月到窗前。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注