如何在开发wordpress插件时调试php代码?

时间:2013-05-12 10:54:06

标签: php debugging wordpress-plugin wordpress

我开始自己开发几个WordPress插件。在开发插件时,我在插件中使用了不同的钩子(wp_head,add_shortcode等)函数。任何人都可以建议我一个简单方便的方法来调试WordPress插件,还是有其他方法可以轻松地开发WordPress插件。提前致谢。

5 个答案:

答案 0 :(得分:3)

使用PHP调试器可能会很好,但它也可能有点像“跟随弹跳球”。为简单起见,启用WP_DEBUG和WP_DEBUG_LOG(请参阅Debugging in WordPress)并使用error_log()函数将有用信息转储到wp-content / debug.log文件。

我倾向于使用类方法,函数或包含文件名为日志语句添加前缀,以便我知道它们来自何处。 e.g。

error_log(__METHOD__ . ": value = $value");
error_log(__FUNCTION__ . "\n" . print_r($_POST, 1));
ob_start();
var_dump($collection);
error_log(basename(__FILE__) . "\n" . ob_get_clean());

Debug Bar插件也非常方便,特别是对于一些可用的附加组件。

答案 1 :(得分:2)

对于调试,我通常使用标准的php函数来检查变量,你知道var_exportprint_r。如果我有一个更难检测的错误,那么我使用Xdebug:http://xdebug.org/

此外,在Wordpress中,您可以使用此插件记录变量的内容:

答案 2 :(得分:2)

调试栏插件与wp-config.php文件中的调试模式和调试日志记录相结合是一个很好的开始。

Debug Bar

Debugging In WordPress, debug and debuglog settings

答案 3 :(得分:1)

可能对您有用的其他事项:

1)在代码中查找已弃用功能的插件,例如Log Deprecated CallsLog Deprecated Notices

2)设置WP_DEBUG常量将在PHP日志中提供有用的信息。

答案 4 :(得分:1)

显示此课程:

  

https://github.com/erlandsen/PHP-Debugger

这是PHP 5.3 +的完整Debug类。

示例:

<?php
    include( dirname(dirname(__FILE__))  . '/src/Debug.php' );
    //Catch all
    Debug::register();

    //Generate an errors
    if( this_function_does_not_exists( ) )
    {
        return false;
    }
?>