wpdesk / wp-wpdesk-tracker
3.7.1
2024-08-19 09:01 UTC
Requires
- php: >=7.1 || ^8
- psr/log: ^1 || ^2
- wpdesk/wp-builder: ^2.0
- wpdesk/wp-notice: ^3.1
- wpdesk/wp-view: ^2
Requires (Dev)
- 10up/wp_mock: ^1
- phpunit/phpunit: ^7 || ^8 || ^9
- wpdesk/phpstan-rules: ^1
- wpdesk/wp-code-sniffer: ^1
- dev-master
- 3.7.1
- 3.7.0
- 3.6.1
- 3.6.0
- 3.6.0-beta.2
- 3.6.0-beta.1
- 3.5.12
- 3.5.10
- 3.5.9
- 3.5.8
- 3.5.7
- 3.5.6
- 3.5.5
- 3.5.4
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.0
- 3.2.0-beta4
- 3.2.0-beta3
- 3.2.0-beta2
- 3.2.0-beta1
- 3.1.1
- 3.1.0
- 3.0.2
- 3.0.1
- 3.0.0
- 2.4.0-beta1
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.1
- 2.2.0
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0
- dev-use-psr-log
- dev-feat/plugin-links
- dev-fix/ditch-localized-names
- dev-source
- dev-rephrase-links
- dev-notice
- dev-improvements
- dev-style
- dev-composer
- dev-wc-settings
- dev-fix/deprecated_functions
- dev-php-compatibility
- dev-remove-suhosin-detection
- dev-fix/escaping
- dev-feature/content-filter
- dev-feature/deactivation-dialog
- dev-feature/init
This package is auto-updated.
Last update: 2024-09-19 09:20:20 UTC
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();
}
技术细节
该库为所有库消费者启用全局使用跟踪。这意味着,如果您有两个单独使用库的插件,数据只会发送一次。
启用后,数据收集每周进行一次。