对添加操作事件使用调试

时间:2018-10-19 作者:Alt C

是否可以在action函数中vardump变量?这样做时,我无法回音或看到结果。

这不是一个woo commerce的问题,但我对

add_action(\'woocommerce_order_status_changed\',\'wc_order_uppdate_to_cancelled_status\', 20, 4);

1 个回复
最合适的回答,由SO网友:phatskat 整理而成

如果要在看不到输出的操作中使用调试,可以将内容发送到error_log. 首先,需要启用调试日志记录。在您的/wp-config.php 添加行:

define( \'WP_DEBUG\', true );
define( \'WP_DEBUG_LOG\', true );
这将创建一个名为/wp-content/debug.log

接下来,在代码中,将一些调用添加到error_logvar_export:

add_action( \'init\', \'some_function\' );

function some_function( $var ) {
    error_log( var_export( $var, 1 ) );
}
现在,什么时候init 运行我们的函数$var 将转储到/wp-content/debug.log. 注意第二个参数var_export 表示返回输出,而不是尝试将其发送到显示。

编辑:2021 2017年9月Ray 对于一般情况下的调试,当您看不到正在运行的脚本的输出时,它特别有用。

安装下载Ray app安装软件包(他们有WordPress特定的插件,我倾向于直接使用软件包)

composer require spatie/ray --dev

用法打开PHP中的Ray应用程序,调用ray(), e、 g.
ray($var);
光线窗口将填充变量的信息:

Ray window showing a Laravel exception

结束

相关推荐

从unctions.php调用的Add_Actions未返回好值

我正试图通过这些功能为我的网站添加一些安全/访问防护。php。然而,每当我尝试通过函数添加时。php(而不是作为插件,我以前做过)失败(总是返回false)。例如:add_action(\"parse_query\", checkaccess()); // in functions.php 以及function checkaccess() { $allowAccess = false; if(is_admin()||is_front_page()||i