为什么我的插件一直在自动停用?

时间:2012-08-07 作者:Alex Pena

我有一个名为“虚拟主题”的插件,我从插件目录下载了这个插件,它工作得很好,但我注意到有时当其他插件发生变化时,它似乎停止工作,并显示一个找不到的页面。转到插件页面,它仍然显示为其活动状态。所以,我要做的是让它再次工作是点击停用,然后点击激活,这样它就可以开始工作。我注意到,当我最终停用另一个插件时,这种情况会更多,这一个插件停止工作。我还注意到,有时在进行选项更改时会发生这种情况,例如bbpress,在进行更改后,虚拟主题“停止工作”。有人知道为什么会这样吗。

1 个回复
SO网友:Jeremy Jared

这是一个没有错误报告的猜测游戏。以下是一些收集信息的方法,可以帮助您或其他人诊断原因:

启用WP调试:

WordPress WP DEBUG Codex page *如果您选择使用,请小心您的站点是否处于活动状态define(\'WP_DEBUG\', true); 在你身上wp-config.php 默认情况下,错误将在实时站点上可见。

WP Debug(适用于实时站点):

将以下代码添加到主题函数中。php文件。仅在添加时显示错误? debug=1, ?debug=2, 或?debug=3 到当前页面URL的结尾。

<?php 
/**
* Written by Jared Williams - http://new2wp.com
* @wp-config.php replace WP_DEBUG constant with this code
* Enable WP debugging for usage on a live site
* http://core.trac.wordpress.org/browser/trunk/wp-includes/load.php#L230
* Pass the \'?debug=#\' parameter at the end of any url on site
*
* http://example.com/?debug=1, /?debug=2, /?debug=3
*/
if ( isset($_GET[\'debug\']) && $_GET[\'debug\'] == \'1\' ) {
    // enable the reporting of notices during development - E_ALL
    define(\'WP_DEBUG\', true);
} elseif ( isset($_GET[\'debug\']) && $_GET[\'debug\'] == \'2\' ) {
    // must be true for WP_DEBUG_DISPLAY to work
    define(\'WP_DEBUG\', true);
    // force the display of errors
    define(\'WP_DEBUG_DISPLAY\', true);
} elseif ( isset($_GET[\'debug\']) && $_GET[\'debug\'] == \'3\' ) {
    // must be true for WP_DEBUG_LOG to work
    define(\'WP_DEBUG\', true);
    // log errors to debug.log in the wp-content directory
    define(\'WP_DEBUG_LOG\', true);
}
?>
参考和使用说明:Stack Exchange admin Best Collection Snippet

Log Deprecated Functions Plugin:

检查主题或插件是否使用了可能导致问题的弃用函数。

启用错误日志记录:

在中替换当前代码wp-config.php 这样可以允许错误日志记录,这将为您指明正确的方向:

/**
 * This will log all errors notices and warnings to a file called debug.log in
 * wp-content only when WP_DEBUG is true. if Apache does not have write permission, 
 * you may need to create the file first and set the appropriate permissions (i.e. use 666).
 */

define(\'WP_DEBUG\', true); // or false
if (WP_DEBUG) {
  define(\'WP_DEBUG_LOG\', true);
  define(\'WP_DEBUG_DISPLAY\', false);
  @ini_set(\'display_errors\',0);
}
参考文献:

一旦您决定使用和实施它,您将开始收集数据,以帮助您诊断问题。如果您需要帮助破译数据,请将其张贴在此处。也许我可以帮忙,或者其他人可以帮你。

结束

相关推荐

Beta Versioning of Plugins

当我为一些bug编写修复程序时,我通常会增加版本并将其发送给bug查找程序,以查看我的修复程序是否有效。如果我有1.2.5 我想创建一个测试版,一旦我提交代码,它将变得多余,我应该使用1.2.5-beta 或1.2.6-beta? 我担心的是1.2.6 <;1.2.6-beta 因此,字符串比较可能有利于beta版,而bug查找程序不会收到发布稳定版本的通知。编辑:如果在不考虑发布类型的情况下对字符串进行绝对比较,则可以使用1.2.5-fix 然后1.2.6. 该问题也概述在http://en.wik