niloys7/remote-admin-notification-client

WordPress 插件与主题的管理员通知客户端

dev-main 2023-04-18 20:32 UTC

This package is auto-updated.

Last update: 2024-09-18 23:36:41 UTC


README

PHP Version Require GPLv3 License

工作原理

该插件旨在管理多个产品的消息。我们称这些不同类型的通知为“频道”。例如,如果我有两个产品,产品 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 的自动加载器来完成工作。

将此功能集成到插件或主题中非常简单。只需四个步骤即可

  1. 在服务器上创建一个新的频道
  2. 获取频道 ID & 密钥(在术语编辑屏幕中)
  3. 在客户端注册通知,使用服务器的 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' );