Skip to content

PaddySun/baby-wp-comment-filter

 
 

Repository files navigation

Baby WP 评论强化拦截插件

一个强大的WordPress评论过滤插件,支持字数限制、中文检测、关键词过滤等功能。

插件信息

  • 插件名称: Baby WP 评论强化拦截插件
  • 版本: 1.0.5
  • 作者: obaby
  • 作者网址: https://h4ck.org.cn
  • 许可证: GPL v2 or later

功能特性

🛡️ 评论过滤功能

  • 字数限制: 设置评论的最少和最多字数
  • 中文检测: 要求评论必须包含中文字符
  • 关键词过滤: 支持自定义关键词和WordPress设置的关键词
  • 正则表达式支持: 支持使用正则表达式进行高级匹配

⚙️ 管理功能

  • 简单设置界面: 直观的管理后台设置页面
  • 错误消息自定义: 可以自定义各种错误提示消息和标题
  • 统计信息: 记录评论过滤统计信息,支持重置功能
  • WordPress集成: 与WordPress讨论设置完美集成,支持实时预览
  • 设置验证: 完整的输入验证和数据清理机制

🔧 技术特性

  • 简单架构: 采用简单的面向对象架构,易于维护
  • 性能优化: 高效的过滤算法,不影响网站性能
  • 兼容性: 支持WordPress 5.0+版本,PHP 7.4+
  • 多语言: 支持多语言环境
  • 数据安全: 完整的输入验证和清理机制
  • 错误处理: 完善的错误处理和日志记录

安装方法

方法1:手动安装

  1. 下载插件文件
  2. 将插件文件夹上传到 /wp-content/plugins/ 目录
  3. 在WordPress后台"插件"页面激活插件

方法2:通过WordPress后台安装

  1. 在WordPress后台进入"插件" → "安装插件"
  2. 点击"上传插件"
  3. 选择插件zip文件并安装
  4. 激活插件

使用方法

1. 基本设置

激活插件后,在WordPress后台进入 设置Baby WP 评论 进行配置:

字数设置

  • 最少字数: 设置评论的最少字数要求(0表示不限制)
  • 最多字数: 设置评论的最多字数限制

内容要求

  • 要求包含中文: 勾选后评论必须包含中文字符

关键词过滤

  • 自定义禁止关键词: 每行一个关键词,支持正则表达式
  • 使用WordPress讨论设置的关键词: 同时使用WordPress后台"讨论设置"中的禁止关键词
    • ✅ 实时显示当前WordPress设置的禁止关键词
    • ✅ 支持WordPress 5.5+的moderation_keys和旧版本的disallowed_keys
    • ✅ 复选框状态正确保存和恢复(v1.0.3修复)
    • ✅ 优化了管理界面布局,统计信息和系统要求信息并排显示(v1.0.4优化)
    • ✅ 添加了跳转到WordPress讨论设置页面的快捷链接(v1.0.5新增)
    • ✅ 优化了关键词显示效果,使用卡片式布局和状态区分(v1.0.5优化)

错误消息设置

  • 字数过多提示: 评论超过字数限制时显示的消息
  • 字数过少提示: 评论少于最少字数要求时显示的消息
  • 无中文字符提示: 评论不包含中文字符时显示的消息
  • 包含禁止词提示: 评论包含禁止关键词时显示的消息
  • 恢复默认消息: 一键恢复所有错误消息为默认内容
  • 实时预览: 输入时自动预览占位符替换效果

错误标题设置

  • 字数过多标题: 评论超过字数限制时显示的错误页面标题
  • 字数过少标题: 评论少于最少字数要求时显示的错误页面标题
  • 无中文字符标题: 评论不包含中文字符时显示的错误页面标题
  • 包含禁止词标题: 评论包含禁止关键词时显示的错误页面标题
  • 恢复默认标题: 一键恢复所有错误标题为默认内容

2. 高级功能

正则表达式支持

在自定义禁止关键词中可以使用正则表达式:

# 匹配所有数字
/\d+/

# 匹配特定格式的链接
/https?:\/\/[^\s]+/

# 匹配重复字符
/(.)\1{3,}/

占位符使用

在错误消息中可以使用以下占位符:

  • {min_length}: 最少字数
  • {max_length}: 最多字数

3. 测试功能

插件提供了完整的测试功能,在WordPress后台进入 设置Baby WP 测试 可以:

  • 测试辅助函数
  • 测试评论过滤功能
  • 测试设置功能
  • 测试WordPress集成
  • 进行交互式评论测试

配置示例

基本配置

最少字数: 10
最多字数: 500
要求包含中文: ✓
自定义禁止关键词:
spam
垃圾
广告
推广
使用WordPress讨论设置的关键词: ✓

高级配置

最少字数: 20
最多字数: 1000
要求包含中文: ✓
自定义禁止关键词:
# 禁止纯数字评论
/^\d+$/
# 禁止重复字符
/(.)\1{5,}/
# 禁止特定链接
/binance\.(com|info)/
使用WordPress讨论设置的关键词: ✓

错误消息示例

默认错误消息

  • 字数过多: "额,你评论的内容太多啦,最多可以输入{max_length}个字,不要再评论区写论文啊!"
  • 字数过少: "评论内容太短了,至少需要{min_length}个字哦!"
  • 无中文字符: "不要乱发哦,让姐姐我不开心就不好了嘛!(评论禁止纯英文字符、数字内容)"
  • 包含禁止词: "不要乱发哦,让姐姐我不开心就不好了嘛!(你tmd别发广告了ok?你是傻逼吗?!)"

默认错误标题

  • 字数过多: "宝贝,出错了哦 - obaby@mars"
  • 字数过少: "宝贝,出错了哦 - obaby@mars"
  • 无中文字符: "姐姐我不开心啦! - obaby@mars"
  • 包含禁止词: "姐姐我不开心啦! - obaby@mars"

自定义错误消息

你可以根据网站风格自定义这些错误消息,让用户体验更加友好。支持以下功能:

占位符支持

  • {min_length} - 自动替换为设置的最少字数
  • {max_length} - 自动替换为设置的最多字数

消息类型示例

  • 友好型: "评论内容需要{min_length}到{max_length}个字哦~"
  • 正式型: "评论长度不符合要求,请控制在{min_length}-{max_length}字之间。"
  • 幽默型: "额,你评论的内容太多啦,最多可以输入{max_length}个字,不要再评论区写论文啊!"
  • 简洁型: "评论长度必须在{min_length}-{max_length}字之间。"

标题类型示例

  • 友好型: "评论出错了 - 网站名称"
  • 正式型: "评论提交失败 - 网站名称"
  • 幽默型: "姐姐我不开心啦! - obaby@mars"
  • 简洁型: "评论错误"

高级功能

  • 实时预览: 输入时自动显示占位符替换效果
  • 一键重置: 快速恢复所有消息和标题为默认内容
  • 格式验证: 自动检查消息格式和长度
  • 标题自定义: 完全自定义错误页面的标题
  • 消息标题分离: 错误消息和标题可以独立配置

开发者信息

文件结构

baby-wp-comment-filter/
├── baby-wp-comment-filter.php    # 主插件文件
├── includes/
│   └── helper-functions.php      # 辅助函数
├── test-plugin.php               # 测试文件
└── README.md                     # 说明文档

主要类和方法

Baby_WP_Comment_Filter 类

  • get_instance(): 获取插件实例
  • filter_comment(): 评论过滤主函数
  • add_admin_menu(): 添加管理菜单
  • register_settings(): 注册设置选项

辅助函数

  • baby_wp_get_disallowed_comment_keys(): 获取WordPress禁止关键词
  • baby_wp_has_banned_word(): 检查是否包含禁止关键词
  • baby_wp_has_chinese(): 检查是否包含中文字符
  • baby_wp_get_comment_length(): 获取评论字数

钩子和过滤器

插件使用以下WordPress钩子:

  • preprocess_comment: 评论预处理过滤
  • admin_menu: 添加管理菜单
  • admin_init: 注册设置选项

常见问题

Q: 插件会影响网站性能吗?

A: 不会。插件采用高效的过滤算法,只在评论提交时进行必要的检查,不会影响网站的正常访问速度。

Q: 如何添加更多自定义关键词?

A: 在插件设置页面的"自定义禁止关键词"文本框中,每行添加一个关键词即可。支持正则表达式格式。

Q: 支持正则表达式吗?

A: 支持。在自定义关键词中使用 /pattern/flags 格式即可使用正则表达式。例如:/spam/i 表示不区分大小写匹配"spam"。

Q: 如何恢复默认设置?

A: 在设置页面点击"恢复默认消息"和"恢复默认标题"按钮,或停用插件后重新激活即可恢复默认设置。

Q: 统计信息如何重置?

A: 在插件设置页面底部点击"重置统计信息"按钮即可重置所有统计数据。

Q: 插件与WordPress讨论设置的关系?

A: 插件可以同时使用WordPress后台"讨论设置"中的禁止关键词,两者是互补关系。通过勾选"使用WordPress讨论设置的关键词"选项,插件会自动读取并应用WordPress后台设置的禁止关键词。

Q: "使用WordPress讨论设置的关键词"复选框无法保存怎么办?

A: 这个问题已在版本1.0.3中修复。如果仍遇到问题,请确保插件版本为1.0.5或更高版本。

更新日志

版本 1.0.5 (最新)

  • 🔗 快捷链接: 添加了"前往WordPress讨论设置"按钮,一键跳转到WordPress后台设置
  • 🎨 显示优化: 优化了关键词显示效果,使用卡片式布局和状态区分
  • 📱 用户体验: 改进了界面交互,提供更便捷的操作方式
  • 🎯 视觉改进: 使用不同颜色和图标区分有/无关键词状态

版本 1.0.4

  • 🎨 界面优化: 优化了管理界面布局,统计信息和系统要求信息并排显示
  • 📱 响应式设计: 添加了响应式布局,在不同设备上都能良好显示
  • 🎯 高度协调: 统一了两个信息块的显示风格和高度
  • 🔧 布局改进: 使用自适应宽度,根据内容调整组件大小

版本 1.0.3

  • 🔧 修复重要问题: 修复了"使用WordPress讨论设置的关键词"复选框无法保存的问题
  • 改进设置处理: 添加了完整的设置验证和清理功能
  • 🛡️ 增强数据安全: 改进了所有设置字段的输入验证和清理机制
  • 🔄 保持兼容性: 确保与之前版本的完全向后兼容

版本 1.0.2

  • 优化了错误消息显示
  • 改进了统计信息功能
  • 增强了用户界面体验

版本 1.0.1

  • 修复了部分兼容性问题
  • 优化了性能表现

版本 1.0.0

  • 初始版本发布
  • 支持字数限制功能
  • 支持中文检测功能
  • 支持关键词过滤功能
  • 支持WordPress讨论设置集成
  • 提供完整的管理界面
  • 提供测试功能

技术支持

如果你在使用过程中遇到问题,可以通过以下方式获取支持:

  • 作者网站: https://h4ck.org.cn
  • 问题反馈: 请在WordPress插件目录或作者网站提交问题
  • 版本要求: 确保使用最新版本以获得最佳体验和bug修复

系统要求

  • WordPress: 5.0 或更高版本
  • PHP: 7.4 或更高版本
  • 测试兼容: WordPress 6.8.2
  • 推荐环境: PHP 8.0+, WordPress 6.0+

许可证

本插件遵循 GPL v2 或更高版本许可证,与WordPress保持一致。

致谢

感谢所有为WordPress社区做出贡献的开发者们!


注意: 本插件仅用于学习和研究目的,请遵守相关法律法规,合理使用评论过滤功能。

About

Baby WP 评论强化拦截插件 + 百度文本审核

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • PHP 98.8%
  • Shell 1.2%