automattic/jetpack-jitm

Jetpack 的即时消息

安装次数: 34,590

依赖关系: 5

建议者: 0

安全: 0

星级: 5

关注者: 5

分支: 1

类型:jetpack-library

v3.1.22 2024-09-10 11:22 UTC

This package is auto-updated.

Last update: 2024-09-18 03:32:04 UTC


README

封装即时消息的包。

即时消息(JITMs)是实时上下文管理通知。这些通知根据多个参数(访问的页面、Jetpack 连接状态、计划状态、活动功能等)在特定的管理页面上显示。

使用 JITMs 的两种主要方式

  • 您可以在 Jetpack 插件中创建静态通知。这些通知将在网站连接到 WordPress.com 之前显示。查看 Pre_Connection_JITM 以获取更多信息。
  • 一旦 Jetpack 插件连接到 WordPress.com,您就可以创建动态通知。这些通知将根据上述参数从 WordPress.com 拉取。查看 Post_Connection_JITM 以获取更多信息。

使用方法

使用配置包

可以使用配置包启用 JITMs

use Automattic/Jetpack/Config;

// Configuring as early as plugins_loaded priority 1
// to make sure every action handler gets properly set.
add_action( 'plugins_loaded', 'configure_jitm', 1 );

function configure_jitm() {
    $config = new Config();
    $config->ensure( 'jitm' );
}

直接使用 JITM 包

也可以通过直接使用 JITM 包来启用 JITMs

Automattic\Jetpack\JITMS\JITM::configure();

JITM 显示位置

JITMs 可以在任何包含 <div id="jp-admin-notices" /> 元素的管理页面上显示,因为消息就是在这里注入的。您可能需要添加或调整此元素以适应您的插件。

添加预连接 JITMs

插件可以使用 jetpack_pre_connection_jitms 过滤器添加预连接 JITMs。每个 JITM 消息都必须是一个数组,并且必须包含以下键

  • id
  • message_path
  • message
  • description
  • button_link
  • button_caption

如果 JITM 缺少上述键中的任何一个,则 JITM 不会显示。

JITM 消息数组还可以包含以下可选键

  • icon - 如果不存在 'icon' 键,则默认使用 Jetpack 图标。此选项的可设置选项为
    • 'jetpack' - 使用 Jetpack 图标。
    • 'woocommerce' - 使用 WooCommerce 图标。
    • 空字符串 - 无图标。

Jetpack 插件的预连接 JITMs 可在 Jetpack_Pre_Connection_JITMs 类中找到。

示例

function add_preconnection_jitms( $messages ) {
    $example_jitm = array(
		'id'             => 'example-jitm',
		'message_path'   => '/wp:plugins:admin_notices/',
		'message'        => __( 'An example message.', 'jetpack' ),
		'description'    => __( 'An example description.', 'jetpack' ),
		'button_link'    => 'https://example.com/path',
		'button_caption' => __( 'Example button text', 'jetpack' ),
    );

    if ( ! is_array( $messages ) ) {
		return array( $example_jitm );
    }

    return array_merge( $messages, array( $example_jitm ) );
 }

 add_filter( 'jetpack_pre_connection_jitms', 'add_preconnection_jitms' );

在您的 WordPress 插件中使用此包

如果您计划在您的 WordPress 插件中使用此包,我们建议您使用 Jetpack Autoloader 作为您的自动加载器。这将允许与其他使用此包的插件实现最大兼容性。

安全

需要报告安全漏洞?请访问 https://automattic.com/security/ 或直接访问我们的安全漏洞赏金网站 https://hackerone.com/automattic

许可协议

jetpack-jitm 采用 GNU 通用公共许可证 v2(或更高版本) 许可。