WP Manifestindependent plugin directory
manifest / integrations / bemfa-wechat-notify

微信通知推送

基于巴法云微信接口开发的 WordPress 插件,实现微信消息推送功能,支持设备预警、设备提醒两类推送,提供后台可视化配置、短代码调用、函数调用三种使用方式,轻量无依赖,适配所有主流 WP 版本。

by liseezn · github.com/liseezn/bemfa-wechat-notify · website

1stars
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/liseezn/bemfa-wechat-notify/archive/refs/heads/main.zip

基于巴法云微信预警/提醒双接口开发的WordPress终极增强版插件,严格贴合官方API规范,在v1.2基础上完成核心功能重构+6大重磅新增,打造全场景自动化推送+专属数据库日志系统的WP微信通知解决方案。

插件实现设备预警/提醒双类型推送、POST/GET双请求、HTTP/HTTPS双协议全适配,新增6大自动化推送事件、内置数据库日志系统(筛选/自动清理)、仪表盘统计小工具、AJAX一键测试、后台可视化日志页面,支持短代码/函数/自动事件三种调用方式,轻量无依赖,原生深度兼容WooCommerce,适配所有主流WP版本,无缝兼容v1.0/v1.2所有用法,开箱即用无需开发。

📌 项目简介

本插件是巴法云微信通知接口在WordPress生态的深度重构与终极增强版,v1.4在原有基础上完成功能全升级+体验全优化,完全遵循巴法云官方API文档规范,无需编写代码即可实现WP站点全场景自动化微信推送,同时为开发人员保留高度可扩展性,为运营人员提供可视化配置+精细化日志管理+数据统计的一站式体验。

核心完美适配巴法云全套微信推送接口,所有配置可视化操作,无需手动修改代码,GET方式下warn接口自动追加type=2必填参数,完全贴合官方规范:

  • 设备预警接口:wechatAlert(POST/GET),适用于站点告警、异常通知、订单付款等高优先级重要消息
  • 设备提醒接口:wechatWarn(POST/GET),适用于日常通知、新用户注册、新文章发布等常规消息
  • 全接口支持HTTP/HTTPS一键切换POST/GET自由选择,本地/硬件/线上环境全适配

📝 版本更新日志

v1.4(2026-02-01)【终极增强版 - 核心重构+6大新增】

🔥 新增 6大自动化推送事件:新评论即时提交、新用户注册、新页面发布、自定义文章发布、Woo订单付款、Woo订单完成,独立开关,按需开启 🔥 新增 内置数据库日志系统:专属日志表存储推送记录,支持按状态/接口/设备/日期筛选,避免服务器日志冗余 🔥 新增 日志精细化管理:日志保留天数设置、自动清理/手动清空日志、error_log双记录模式,兼顾调试与性能 🔥 新增 后台可视化日志页面:独立「推送日志」子菜单,分页查看、一键筛选、数据统计,排错更直观 🔥 新增 仪表盘统计小工具:WP后台仪表盘显示今日推送成功/失败/总计,最近5条推送记录,快捷操作入口 🔥 新增 系统状态卡片:配置页实时显示日志表状态、UID配置状态、最近成功推送、今日推送总数,状态一目了然 ⚡ 重构 推送事件体系:原生事件+新增事件分离,每个事件独立开关,WP核心事件与Woo高级事件分类适配 ⚡ 重构 配置页面:新增「日志系统配置」节,核心/事件/日志/高级/测试五节分层,模块更清晰,操作更友好 ⚡ 优化 AJAX交互体验:测试推送/清理日志全程AJAX无刷新,结果即时反馈,无需手动刷新页面 ⚡ 优化 数据统计能力:日志页面显示7天推送统计、总成功率、设备推送排行,数据可视化更直观 ⚡ 优化 定时任务体系:插件激活自动创建日志自动清理定时任务,卸载自动清理,无冗余残留 ✅ 兼容 v1.0/v1.2版本所有短代码/函数调用,无缝升级无需修改原有代码 ✅ 强化 权限控制:所有后台操作/API请求均做管理员权限验证,提升站点安全性 ✅ 强化 数据清洗:所有用户输入均做严格过滤,日志数据做转义处理,避免SQL注入/XSS漏洞

v1.2(2026-02-01)【核心升级】

🔥 新增可视化协议切换(HTTP/HTTPS)、日志开关、POST/GET双请求方式 🔥 新增后台自动事件开关、一键测试推送、分层配置页面 🔥 优化配置数据清洗、插件激活/卸载逻辑 ✅ 兼容v1.0版本所有短代码/函数调用

v1.0

🖥️ 基础可视化配置(UID/设备名/分组) 🔧 短代码/PHP函数双调用方式 📱 适配巴法云POST接口(预警/提醒) 🚀 轻量无依赖,原生WP代码开发 🔍 内置错误日志记录,支持二次扩展

✨ 核心特性

🚀 全场景自动化推送(9大事件,独立开关)

WP核心事件+WooCommerce高级事件全覆盖,后台勾选即生效,零开发开箱即用

  • WP原生:新文章发布、评论审核通过
  • WP新增:新评论即时提交、新用户注册、新页面发布、自定义文章发布
  • Woo新增:新订单创建、订单付款成功、订单完成发货

📊 专属数据库日志系统(精细化管理)

  • 独立日志表:推送记录存储到WP专属数据库表,不占用服务器日志,查询更高效
  • 多维度筛选:按状态(成功/失败/警告)、接口类型(warn/alert)、设备名、日期精准筛选
  • 双模式记录:支持数据库日志+服务器error_log双记录,调试/生产环境按需切换
  • 自动化清理:可设置日志保留天数,开启自动清理后每日定时删除过期日志,避免表过大
  • 手动操作:AJAX一键清空所有日志,操作无刷新,无需手动执行SQL

🖥️ 可视化全流程操作(新手友好,零开发)

  • 分层配置页面:核心配置/事件开关/日志配置/高级配置/一键测试,五节清晰,带详细说明
  • 状态实时监控:配置页系统状态卡片,实时显示日志表、UID配置、推送统计核心状态
  • AJAX无刷新操作:测试推送、清理日志全程AJAX,结果即时反馈,无需刷新页面
  • 可视化日志查看:独立后台日志页面,分页展示、字段清晰,支持响应信息查看
  • 仪表盘快捷入口:WP后台仪表盘添加统计小工具,推送数据/快捷操作一键访问

🔌 全适配巴法云官方API(无兼容问题)

  • 双接口支持:完美适配warn(提醒)/alert(预警)双接口,场景化选择
  • 双请求方式:POST(JSON传参)/GET(URL传参)自由选择,GET方式自动追加type=2必填参数
  • 双协议适配:HTTP/HTTPS一键切换,本地/硬件设备用HTTP,线上站点用HTTPS,自动适配端口
  • 严格参数校验:必传参数(UID/设备名/消息)自动校验,失败即时提示,避免无效请求

💪 高扩展性+高安全性(开发友好)

  • 多调用方式:自动化事件(零开发)、短代码(非开发)、PHP函数(开发),满足所有使用场景
  • 无缝兼容:完全兼容v1.0/v1.2所有短代码/函数用法,升级后原有功能正常使用
  • 严格权限控制:所有后台操作、AJAX请求、插件卸载均做管理员权限验证,防止越权操作
  • 安全数据处理:所有用户输入做过滤、所有数据库操作做转义、所有前端输出做转义,避免注入/跨站漏洞
  • 轻量无依赖:纯原生WP/PHP代码开发,不依赖任何第三方插件/库,不占用多余服务器资源

📈 数据统计与快捷操作(运营高效)

  • 多维度统计:日志页面显示7天推送状态统计、总成功率、设备推送排行;仪表盘显示今日推送数据
  • 快捷操作入口:配置页/日志页/仪表盘均添加日志查看、控制台访问、插件配置快捷链接
  • 推送结果溯源:每条日志记录包含接口类型、请求方式、设备名、IP、响应码、响应信息,排错更高效

✅ 广泛兼容+隐私友好

  • 适配WP 5.0+、PHP 7.0+,兼容所有主题/插件,原生深度支持WooCommerce 3.0+
  • 隐私友好:仅在站点本地数据库存储配置和日志信息,不收集、不传输任何站点/用户数据
  • 跨环境适配:本地测试、硬件设备、线上生产环境全适配,协议/请求方式一键切换

📋 前置准备

使用插件前,需先完成巴法云微信绑定并获取UID,步骤与旧版本一致,UID为插件唯一必填项

  1. 访问 巴法云控制台,注册/登录账号
  2. 按提示关注微信公众号「巴法云」,完成账号与微信的自动绑定(未关注将无法收到推送)
  3. 在巴法云控制台「个人中心/密钥管理」,复制你的 用户私钥UID(32位纯字符串,必填)
  4. 确认使用环境(推荐配置,避免推送失败):
    • 线上WP站点(HTTPS):✅ 不勾选HTTP协议 + ✅ POST请求方式
    • 本地/硬件设备(无HTTPS):✅ 勾选HTTP协议 + ✅ GET请求方式

🔧 安装步骤

支持后台上传安装(推荐)和手动上传安装升级用户直接覆盖插件文件即可,原有配置、日志数据将自动保留,无缝升级:

方式1:后台上传安装(推荐,非开发人员)

  1. 下载插件ZIP压缩包(包含完整v1.4代码)
  2. 登录WordPress后台 → 插件 → 安装插件 → 上传插件
  3. 选择下载的ZIP压缩包,点击「安装现在」
  4. 安装完成后,点击「启用插件」,进入设置 → 巴法云微信推送完成配置

方式2:手动上传安装(开发人员)

  1. 将插件文件夹 bemfa-wechat-notify 复制到WP插件目录:wp-content/plugins/
  2. 登录WordPress后台 → 插件 → 已安装插件,找到「巴法云微信通知推送【终极增强版】」,点击「启用」

⚠️ 插件启用时将自动创建日志数据库表初始化默认配置创建日志自动清理定时任务,无需手动操作。

⚙️ 后台可视化配置

插件启用后,进入WP后台 设置 → 巴法云微信推送 完成配置,分五节分层配置,带详细说明,*为必填项,配置完成后点击「保存所有配置」,支持AJAX一键测试推送**验证配置正确性。

同时后台将新增 设置 → 推送日志 子菜单,用于查看/筛选/清理推送日志。

1. 核心配置(*必填,巴法云控制台获取)

插件运行的基础配置,UID错误/未配置将导致所有推送失败: | 配置项 | 说明 | 示例 | 是否必填 | |--------|------|------|----------| | 巴法云32位UID | 巴法云个人中心获取,32位纯字符串,无UID无法推送 | 4d9ec352e0376f2110a0c601a2857225 | ✅ 是 | | 默认设备名 | 推送消息显示的设备标识,自定义,官方必传参数 | 我的WP博客/WP电商站点 | ❌ 否(默认:WordPress站点) | | 消息分组 | 消息分组(仅限字母/数字),不存在将自动创建 | wp_notify/default | ❌ 否(默认:default) |

2. 自动推送事件开关(9大事件,独立开关)

勾选对应事件,触发时将自动推送微信消息,每个事件独立开关,按需开启,Woo相关事件需先安装启用WooCommerce

WP核心事件

  • ✅ 新文章发布推送:仅普通文章(post类型),排除草稿/修订版
  • ✅ 评论审核通过推送:仅审核通过的评论,避免垃圾评论干扰
  • ✅ 新评论提交即时推送:用户/访客提交即推,含评论状态(待审核/已通过/垃圾评论)
  • ✅ 新用户注册推送:新用户完成注册后即时推送,含用户名/邮箱/注册时间
  • ✅ 新页面发布推送:仅页面(page类型)发布时推送,含标题/访问链接
  • ✅ 自定义文章发布推送:适配产品、资讯等所有自定义文章类型,排除原生文章/页面

WooCommerce高级事件

  • ✅ Woo新订单推送:新订单创建时推送,含订单号/用户/金额/创建时间
  • ✅ Woo订单付款推送:订单付款成功后推送,含订单号/付款金额/付款时间
  • ✅ Woo订单完成推送:订单完成发货后推送,含订单号/金额/完成时间

3. 日志系统配置(专属数据库,精细化管理)

插件核心增强功能,推荐开启,用于推送记录溯源和问题排查: | 配置项 | 说明 | 推荐值 | |--------|------|--------| | 启用内置数据库日志 | 开启后推送记录保存到专属数据库表,可在「推送日志」查看 | ✅ 开启 | | 同时记录服务器error_log | 开启后推送日志同时写入服务器PHP error_log,仅用于高级调试 | ❌ 关闭 | | 日志保留天数 | 日志保留的最大天数,超出将自动/手动清理(1-365天) | 30天 | | 自动清理旧日志 | 开启后每日定时清理超出保留天数的日志,避免表过大 | ✅ 开启 |

4. 高级配置(协议/请求,贴合巴法云API)

根据使用环境选择,配置错误将导致推送失败,严格按推荐配置选择: | 配置项 | 可选值 | 默认值 | 推荐配置 | |--------|--------|--------|----------| | 使用HTTP协议 | 开启/关闭 | 关闭 | 本地/硬件→开启,线上HTTPS→关闭 | | 请求方式 | POST/GET | POST | 线上HTTPS→POST,本地/硬件→GET |

5. 一键测试推送(AJAX无刷新,快速排错)

配置完成后,优先使用此功能验证配置正确性,无需触发实际业务事件:

  1. 选择测试接口:「设备提醒(日常使用)」/「设备预警(异常告警)」
  2. 点击「发送测试消息」,按钮将显示「发送中...」,全程无刷新
  3. 测试结果即时显示在按钮下方,成功将收到微信公众号消息,失败将显示具体原因(如UID错误、协议不匹配)

✅ 测试推送的所有记录将同步写入推送日志,可在日志页面查看详细请求/响应信息。

📖 使用教程

v1.4保留旧版本所有调用方式,同时新增自动化事件推送(推荐),满足零开发/非开发/开发所有用户的使用需求,短代码/函数仅管理员可见结果,普通游客无感知。

方式1:自动化事件推送(推荐,零开发)

无需编写任何代码,在「自动推送事件开关」中勾选需要的场景,保存配置后,对应事件触发时将自动推送微信消息,系统内置优化后的消息模板,包含核心业务信息+快捷链接,无需自定义。

示例推送效果(新用户注册):

【WP新用户注册成功】
用户名:test123
注册邮箱:test@163.com
用户ID:100
注册时间:2026-02-01 15:30:00

方式2:短代码调用(非开发人员推荐)

可在文章/页面/自定义小工具/页面构建器中使用,支持基础用法(使用后台默认配置)和高级用法(自定义设备名/分组),仅管理员在前台可看到推送成功/失败提示,普通游客无显示。

核心短代码(v1.4官方标准,兼容旧版本)

# 设备提醒推送(日常通知,推荐,对应warn接口)
[bemfa_wechat_warn msg="你的站点有新表单提交,点击查看!"]

# 设备预警推送(重要告警,对应alert接口)
[bemfa_wechat_alert msg="站点磁盘空间不足10%,请及时清理!"]

高级用法(自定义设备名,覆盖后台默认)

[bemfa_wechat_warn 
  msg="【新会员注册】用户VIP123完成注册,等级:VIP会员" 
  device="WP站点-会员通知"  # 自定义设备名,显示在微信消息中
]

方式3:PHP函数调用(开发人员推荐)

可在主题functions.php/自定义插件/代码片段中调用,实现自定义场景推送(如表单提交、会员升级、站点异常等),插件提供两个核心快捷函数,参数简洁,支持自定义所有请求参数。

核心函数(v1.4官方标准,返回推送结果数组)

// 设备提醒推送(日常通知,推荐,对应warn接口)
// $message:推送消息(必填),$params:可选参数(device/group/url等)
bemfa_wechat_warn($message, $params = []);

// 设备预警推送(重要告警,对应alert接口)
bemfa_wechat_alert($message, $params = []);

参数说明

参数 类型 是否必填 说明
$message string ✅ 是 推送的微信消息内容,不能为空,支持换行符\n
$params['device'] string ❌ 否 自定义设备名,留空使用后台默认配置
$params['group'] string ❌ 否 自定义消息分组(仅限字母/数字),留空使用后台默认配置
$params['url'] string ❌ 否 点击微信消息跳转的合法URL,留空则无跳转

调用示例

// 基础用法:仅传消息,使用后台默认配置(推荐)
bemfa_wechat_warn("新表单提交:用户提交了「联系我们」表单,点击前往后台查看!");

// 高级用法:自定义设备名+换行消息+跳转链接(站点异常告警)
bemfa_wechat_alert(
    "【站点异常告警】\n磁盘空间不足:剩余5GB\n服务器负载:90%\n检测时间:" . date('Y-m-d H:i:s'),
    [
        'device' => 'WP站点-服务器监控',
        'url' => admin_url('tools.php?page=site-health')
    ]
);

返回结果说明

函数返回关联数组,包含推送成功/失败状态、提示信息、接口响应数据,可用于自定义业务逻辑:

// 示例:调用函数并获取结果
$result = bemfa_wechat_warn("测试函数调用");
if ($result['success']) {
    // 推送成功,执行后续逻辑
    echo "推送成功:" . $result['msg'];
} else {
    // 推送失败,执行异常逻辑
    echo "推送失败:" . $result['msg'];
}

// 返回结果示例(成功)
[
    'success' => true,
    'msg' => '推送成功(warn-post)',
    'data' => [/* 巴法云接口返回的原始数据 */]
]

// 返回结果示例(失败)
[
    'success' => false,
    'msg' => 'UID错误:必须是32位纯字符串',
    'data' => []
]

方式4:自定义场景推送(开发人员,扩展用法)

若需实现后台事件开关未覆盖的自定义场景(如WPForms表单提交、会员升级、站点监控告警等),可结合WP/WooCommerce/第三方插件钩子 + 核心推送函数实现,以下为经典场景示例:

示例1:WPForms表单提交后自动推送

// 绑定WPForms表单提交完成钩子
add_action('wpforms_process_complete', 'custom_wpforms_bemfa_push', 10, 4);
function custom_wpforms_bemfa_push($fields, $entry, $form_data, $entry_id) {
    // 构造推送消息
    $msg = "【新表单提交】\n表单名称:{$form_data['settings']['form_title']}\n提交时间:" . date('Y-m-d H:i:s');
    // 调用推送函数,自定义设备名+跳转至表单详情
    bemfa_wechat_warn($msg, [
        'device' => 'WP站点-表单通知',
        'url' => admin_url('admin.php?page=wpforms-entries&view=details&entry_id=' . $entry_id)
    ]);
}

示例2:站点异常监控(磁盘空间不足推送)

// 自定义站点监控函数
function custom_site_monitor_bemfa_push() {
    // 获取磁盘剩余空间(单位:GB)
    $free_space = round(disk_free_space(ABSPATH) / 1024 / 1024 / 1024, 2);
    // 剩余空间小于10GB时推送告警
    if ($free_space < 10) {
        $msg = "【站点磁盘告警】\n剩余空间:{$free_space}GB\n告警阈值:10GB\n检测路径:" . ABSPATH;
        bemfa_wechat_alert($msg, ['device' => 'WP站点-系统监控']);
    }
}
// 可结合WP定时任务,每小时执行一次监控
// add_action('hourly', 'custom_site_monitor_bemfa_push');

🔍 错误排查(v1.4专属,高效排错)

推送失败请按以下步骤逐步排查优先使用「一键测试推送」,其会直接显示具体失败原因,90%的问题可通过测试推送定位:

步骤1:基础配置检查(最常见问题)

  1. 确认UID填写正确:32位纯字符串,无空格/换行,来自巴法云控制台「个人中心/密钥管理」
  2. 确认微信已绑定:已关注「巴法云」公众号,且公众号与巴法云账号绑定
  3. 确认配置已保存:所有配置修改后点击「保存所有配置」,未保存将使用旧配置

步骤2:测试推送验证(快速定位)

点击配置页「发送测试消息」,根据即时提示排查:

  • 「UID错误:必须是32位纯字符串」:UID填写错误/非32位,重新复制巴法云UID
  • 「网络失败:xxx」:服务器无法访问巴法云接口,检查网络/端口
  • 「HTTP错误:404/500」:协议/请求方式配置错误,按环境重新选择
  • 「推送失败:xxx」:巴法云接口返回错误,按提示排查(如分组非法、设备名为空)

步骤3:环境与配置匹配(关键)

严格按使用环境配置协议/请求方式,不匹配将导致推送失败:

  • 线上HTTPS站点:❌ 不勾选「使用HTTP协议」 + ✅ POST请求方式
  • 本地/硬件设备:✅ 勾选「使用HTTP协议」 + ✅ GET请求方式

步骤4:推送日志排查(v1.4专属,最直观)

进入WP后台 设置 → 推送日志,查看推送记录的状态/响应码/响应信息,每条日志包含详细的请求/响应数据:

  1. 筛选状态=error的记录,查看「消息」和「响应」列,获取具体失败原因
  2. 检查接口类型/请求方式是否与配置一致
  3. 检查设备名/消息是否为空(官方必传参数)

步骤5:高级排查(服务器/网络)

  1. 端口检查:线上站点确保443端口开放,本地/硬件确保80端口开放,能访问https://apis.bemfa.com/http://apis.bemfa.com
  2. 网络检查:服务器能正常访问外网,无防火墙/安全组拦截巴法云接口
  3. PHP版本:确保PHP版本≥7.0,低版本可能存在函数兼容问题
  4. WP函数检查:确保服务器未禁用wp_remote_request函数(插件核心请求函数)
  5. Woo专属:确认已安装并启用WooCommerce,再勾选Woo相关事件开关

📊 推送日志使用指南(v1.4核心功能)

插件在WP后台新增 设置 → 推送日志 独立页面,是推送问题排查、数据统计的核心工具,功能齐全,操作友好:

1. 日志筛选(精准定位)

支持多维度组合筛选,快速找到目标推送记录:

  • 状态:全部/成功/失败/警告
  • 接口类型:全部/设备提醒(warn)/设备预警(alert)
  • 设备名:下拉选择(按推送次数排序,显示前10个)
  • 日期:按开始/结束日期筛选,精准定位某一时间段的记录

2. 数据统计(直观展示)

页面顶部显示最近7天推送统计(成功/失败/警告次数)、总成功率,快速掌握站点推送整体情况。

3. 日志查看(详细溯源)

日志表格包含ID、时间、接口、设备、消息、状态、响应码、IP核心字段:

  • 消息列:支持滚动查看长消息,显示接口响应信息
  • 状态列:用WP原生图标标识(成功=对勾/失败=叉号/警告=感叹号)
  • 响应码:显示HTTP响应码(200=正常,4xx/5xx=错误)

4. 日志管理(性能保障)

  • 一键重置:清除所有筛选条件,返回全部日志
  • 一键清理:AJAX无刷新清空所有日志,操作前有二次确认,防止误删
  • 自动清理:开启「自动清理旧日志」后,每日定时清理超出保留天数的日志
  • 分页展示:默认每页50条记录,支持分页翻页,查询更高效

🚀 扩展与二次开发(开发人员)

v1.4已实现全场景可视化配置,减少手动开发需求,同时保留原生WP扩展能力,插件所有核心函数均为全局可调用,可基于现有功能快速扩展自定义需求,以下为经典扩展场景示例:

扩展1:添加自定义推送事件开关

若需在后台添加自定义场景的推送开关(如表单提交、会员升级),可通过扩展插件的配置注册逻辑实现,步骤如下:

// 步骤1:在插件配置中添加自定义开关(可通过插件钩子/重写配置函数实现)
// 步骤2:结合开关判断是否推送,绑定自定义钩子
add_action('xxx_custom_hook', 'custom_bemfa_push');
function custom_bemfa_push($params) {
    // 获取插件配置
    $settings = bemfa_wechat_get_settings();
    // 自定义开关未开启则不推送(需先在配置中添加event_custom字段)
    if (!$settings['event_custom']) return;
    // 构造推送消息
    $msg = "【自定义事件推送】\n内容:{$params['msg']}\n时间:" . date('Y-m-d H:i:s');
    // 调用核心推送函数
    bemfa_wechat_warn($msg, ['device' => 'WP站点-自定义通知']);
}

扩展2:多UID推送(推送到多个微信账号)

若需将同一条消息推送到多个微信账号(如多管理员),可扩展配置页添加多UID字段,循环调用核心API请求函数实现:

// 多UID推送函数
function bemfa_wechat_multi_uid_push($message, $uids = []) {
    $settings = bemfa_wechat_get_settings();
    // 若无传参,使用默认UID
    if (empty($uids)) $uids = [$settings['uid']];
    // 循环调用核心API请求函数
    foreach ($uids as $uid) {
        bemfa_wechat_api_request('warn', [
            'uid' => $uid,
            'message' => $message,
            'device' => $settings['device'],
            'group' => $settings['group']
        ]);
    }
}

// 调用示例:推送到3个微信账号
bemfa_wechat_multi_uid_push(
    "【站点重要通知】今日站点访问量突破1万次!",
    ['uid1_32位', 'uid2_32位', 'uid3_32位']
);

扩展3:定时推送(站点每日/每周统计)

结合WP原生定时任务,实现每日/每周站点统计推送,可配合「WP Crontrol」插件管理定时任务,示例如下:

// 步骤1:编写统计推送函数
function bemfa_wechat_daily_stat_push() {
    // 获取站点统计数据
    $post_count = wp_count_posts()->publish; // 已发布文章数
    $comment_count = wp_count_comments()->approved; // 已审核评论数
    $user_count = count_users()['total_users']; // 注册用户数
    $view_count = get_option('jetpack_stats_post_views') ?? 0; // 站点访问量(需Jetpack)
    // 构造统计消息
    $msg = "【站点每日统计】\n日期:" . date('Y-m-d') . "\n文章数:{$post_count}篇\n评论数:{$comment_count}条\n用户数:{$user_count}人\n访问量:{$view_count}次";
    // 推送统计消息
    bemfa_wechat_warn($msg, ['device' => 'WP站点-数据统计']);
}

// 步骤2:注册定时任务(插件激活时执行)
function bemfa_wechat_add_cron_task() {
    // 每天凌晨1点执行统计推送
    if (!wp_next_scheduled('bemfa_wechat_daily_stat')) {
        wp_schedule_event(strtotime('01:00:00'), 'daily', 'bemfa_wechat_daily_stat');
    }
}
add_action('plugins_loaded', 'bemfa_wechat_add_cron_task');
add_action('bemfa_wechat_daily_stat', 'bemfa_wechat_daily_stat_push');

// 步骤3:插件卸载时清理定时任务
// register_uninstall_hook(__FILE__, 'bemfa_wechat_remove_cron_task');
function bemfa_wechat_remove_cron_task() {
    wp_clear_scheduled_hook('bemfa_wechat_daily_stat');
}

扩展4:自定义日志记录(添加额外字段)

若需在推送日志中添加自定义字段(如表单ID、订单号),可通过重写bemfa_wechat_log函数实现,或在调用推送函数时传入自定义数据。

🤝 贡献指南

欢迎开发者参与贡献,完善插件功能,提交PR前请遵守以下规范,确保代码质量和兼容性:

  1. Fork本仓库:点击仓库右上角Fork按钮,创建个人仓库
  2. 创建特性分支git checkout -b feature/xxx(xxx为功能名称,如feature/multi-uid
  3. 代码开发规范
    • 遵循WP插件开发规范,使用原生WP函数,不使用第三方库
    • 遵循PHP代码规范,代码注释清晰,变量/函数命名语义化
    • 所有用户输入做过滤处理,所有数据库操作做转义处理
    • 所有前端输出做转义处理,避免XSS漏洞
  4. 提交代码git commit -m "feat: 新增多UID推送功能"(遵循Conventional Commits规范)
  5. 推送分支git push origin feature/xxx
  6. 打开Pull Request:详细描述功能变更、测试情况、适配版本,等待审核

同时欢迎提交Issue反馈Bug、提出功能建议,反馈时请说明插件版本、WP版本、PHP版本、失败场景、测试推送提示,方便快速定位解决。

📄 许可证

本项目采用 GPLv2 许可证 开源(完全符合WordPress插件开源规范),允许自由使用、修改、分发,前提是:

  1. 保留原作者版权信息和插件原始声明
  2. 修改后的代码同样采用GPLv2许可证开源
  3. 不得将插件用于商业售卖,不得移除插件内的官方标识

🙏 致谢

  • 感谢 巴法云 提供稳定的微信通知API接口支持,以及完善的官方开发文档
  • 感谢 WordPress 官方提供的插件开发文档和强大的生态支持
  • 感谢所有v1.0/v1.2版本用户的反馈,为v1.4版提供核心功能方向
  • 感谢WP开源社区的所有开发者,提供了丰富的开发经验和最佳实践

📞 联系与反馈

  • Bug反馈/功能建议:提交 Issue
  • 巴法云官方API文档巴法云开发文档
  • 插件使用问题:可在Issue中留言,或参考巴法云官方论坛教程

最后更新时间:2026-02-01
插件版本:v1.4【终极增强版】
兼容版本:WP 5.0+、PHP 7.0+、WooCommerce 3.0+
核心特性:9大自动化事件+专属数据库日志+仪表盘统计+全场景适配