wpdesk/wp-wpdesk-tracker


README

一个包含接口、抽象和实现以用于插件使用跟踪的 WordPress 库。

[[目录]]

要求

PHP 7.0 或更高版本。

通过 Composer 安装

为了通过 Composer 安装绑定,请运行以下命令

composer require wpdesk/wp-wpdesk-tracker

用法

该库具有多个用途

  • 提供了一个收集网站使用数据的框架,
  • 为要发送到跟踪服务器的跟踪器准备了一组公共数据,
  • 暴露了用户与跟踪器交互的 UI 元素(启用/禁用遥测)

扩展收集的数据

如果您想包含由您的插件暴露的自定义数据,您可以轻松地将它添加到使用数据有效负载中。有两种方式可以注册额外数据

  • 通过 wpdesk_tracker_data 过滤器,
  • 通过注册实现 WPDesk_Tracker_Data_Provider 接口的类

向用户公开

由于默认禁用使用跟踪,因此鼓励用户启用它是关键点。该库公开了一些常见的 UI 接口,这有助于启用遥测

  • 管理员通知,鼓励用户启用使用跟踪,
  • 一个包含跟踪信息和操作按钮的信息框
/**
 * Assuming usage with wp-builder library.
 */

use WPDesk\Tracker\OptInOptOut;
use WPDesk\Tracker\OptInPage;
use WPDesk\PluginBuilder\Plugin\AbstractPlugin;

class Plugin extends AbstractPlugin {
  public function hooks(): void {
	$tracker_ui = new OptInOptOut(
		$this->plugin_info->get_plugin_file_name(),
		$this->plugin_info->get_plugin_slug(),
		'https://wpdesk.net',
		$this->plugin_info->get_plugin_name()
	);
	$tracker_ui->create_objects();
	$tracker_ui->hooks();
  }

  public function settings_page(): void {
    echo "<h1>Settings page</h1>";

	(new OptInPage(
		$this->plugin_info->get_plugin_file_name(),
		$this->plugin_info->get_plugin_slug()
	))->output();
  }
}

替换默认发送者

默认情况下,该库将使用数据发送到 wpdesk.org 服务器。您可以通过交换 WPDesk_Tracker_Sender 实现来替换它。

class MySender implements WPDesk_Tracker_Sender {
	public function send_payload(array $payload){
	   // implement send_payload method.
	}
}

$plugin_slug = 'my-example-plugin';
add_filter( 'wpdesk/tracker/sender/' . $plugin_slug, 'replace_sender' );

function replace_sender() {
	return new MySender();
}

技术细节

该库为所有库消费者启用全局使用跟踪。这意味着,如果您有两个单独使用库的插件,数据只会发送一次。

启用后,数据收集每周进行一次。