niloys7 / remote-admin-notification-client
WordPress 插件与主题的管理员通知客户端
dev-main
2023-04-18 20:32 UTC
Requires
- php: >=7.4
This package is auto-updated.
Last update: 2024-09-18 23:36:41 UTC
README
工作原理
该插件旨在管理多个产品的消息。我们称这些不同类型的通知为“频道”。例如,如果我有两个产品,产品 A 和产品 B,我将在服务器上创建两个频道:频道 A 和频道 B。
一旦创建了一个频道,插件将创建一个 ID 和一个用于验证客户端请求的密钥。当将 RDN 集成到主题或插件中时,客户端类将使用所需的频道 ID 和密钥进行实例化。
当客户端站点需要检查新通知时,它将通过 WordPress HTTP API 向服务器发送 HTTP 请求。如果请求的频道存在且密钥有效,服务器将返回最新的通知(如果有的话),以 JSON 编码的数组形式。
客户端站点将缓存此响应,并将其显示为 WordPress 站点仪表板中的管理员通知,直到用户将其关闭。
在主题或插件中集成
先决条件
在将此功能集成到您的产品之前,必须理解以下内容
- 服务器:安装插件的 WordPress 站点
- 客户端:实例化类的 WordPress 站点(通过主题或插件)
集成步骤
运行 composer require niloys7/remote-admin-notification-client dev-main
或者,将此存储库克隆或下载到您的插件的 inc/
文件夹中,并像这样包含/引入 class-remote-notification-client.php;
文件
require_once 'class-remote-notification-client.php';
或者让 Composer 的自动加载器来完成工作。
将此功能集成到插件或主题中非常简单。只需四个步骤即可
- 在服务器上创建一个新的频道
- 获取频道 ID & 密钥(在术语编辑屏幕中)
- 在客户端注册通知,使用服务器的 URL(
http://domain.com
)、频道 ID 和密钥
/** * @since 1.0 * * @param int $channel_id Channel ID on the remote server * @param string $channel_key Channel key for authentication with the server * @param string $server Notification server URL * @param int $cache Cache lifetime (in hours) * * @return bool|string */ NS7_RDNC::instance()->add_notification( 72, 'a9873a6e608e946e', 'https://www.codeixer.com' );