agencenous / wp-reporting
用于在Wordpress主题和插件中发送日志报告的小工具
1.8.1
2024-05-21 12:32 UTC
Requires (Dev)
- agencenous/bump-version: dev-main
- squizlabs/php_codesniffer: ^3.8
- suin/phpcs-psr4-sniff: ^3.0
- wp-coding-standards/wpcs: ^3.0
README
用于在Wordpress主题和插件中发送日志报告的小工具
将其包含在自己的插件或主题中
composer require agencenous/wp-reporting
用法
报告PHP错误
<?php add_action ('plugins_loaded', function(){ require 'vendor/autoload.php'; // Register each project \WPReporting()->register('project-name', [ 'label' => 'Project name', // translate it with __('Project name', 'project-textdomain') 'description' => 'Send logs by emails', // translate it with __('Description', 'project-textdomain') 'category' => 'plugin', // plugin, theme, main 'to' => 'bm91c0BhdmVjbm91cy5ldQ==', // email addresse, plain or BASE64 encoded (to prevent spam when source is open) 'only_in_dir' => __DIR__, // Limit error reporting to this directory for this project 'javascript' => true, // Enable javascript error reporting ]); }); // Add it in any function or class try{ // Your code goes here } catch(\Throwable $e){ // For PHP 7 \WPReporting()->send($e, 'project-name'); } catch(\Exception $e){ // For PHP 5 \WPReporting()->send($e, 'project-name'); } ?>
如果您需要捕获警告或通知
<?php // Add it in any function or class \WPReporting()->listen('project-name', E_WARNING); // Your code goes here \WPReporting()->stop(); ?>
报告JavaScript错误
<script type="text/javascript"> try{ // Your code goes here } catch(err){ wp_reporting.log_error('project-name', err); } </script>
在正常情况下,您可以使用 wp_reporting
全局变量。
如果脚本没有自动加载,您可以使用 wp_reporting
函数。
\WPReporting()->load_scripts();
隐私
电子邮件地址可以使用base64编码。这样您就不必在源代码中直接暴露主题。
使用 wp_mail()
函数发送电子邮件。
调用 WPReporting()
将自动在Wordpress仪表板中添加一个设置页面,允许管理员为每个注册的项目启用/禁用错误报告。
只有在管理员启用后才会发送报告。
安装wp-reporting后,您可以使用bin命令来编码电子邮件地址
vendor/bin/wp-reporting-encode-email xxxxx@xx.xx
此外
在多站点环境中,在网络上启用设置。
只需在您的 wp-config.php
文件中添加此行。
defined('WP_REPORTING_NETWORK', true);