agencenous/wp-reporting

用于在Wordpress主题和插件中发送日志报告的小工具

安装数: 1,482

依赖: 0

建议者: 0

安全性: 0

星级: 0

关注者: 1

分支: 1

公开问题: 0

类型:wordpress-package

1.8.1 2024-05-21 12:32 UTC

This package is auto-updated.

Last update: 2024-09-21 13:34:18 UTC


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);