不幸的是,core只有在显示整个输出时才提供字符串长度。但是,您可以通过在激活时将这些意外字符(从输出缓冲区)转储到文件中来找到它们是什么。尝试添加此插件(当然,在您激活的插件之外,例如在中的PHP文件中/wp-content/mu-plugins/
)
<?php
add_action( \'activated_plugin\', \'debug_plugin_output\', 10, 2 );
function debug_plugin_output( $plugin, $network_wide ) {
$output = ob_get_contents();
$file = WP_CONTENT_DIR . \'/plugin-output.txt\';
if ( file_exists( $file ) ) {unlink( $file );}
error_log( $output, 3, $file);
}
激活后,您可以检查
/wp-content/plugin-output.txt
... :-)
或者,您可以直接转储输出缓冲区并强制退出(这将短路多个激活并阻止WordPress重定向回插件屏幕):
<?php
add_action( \'activated_plugin\', \'debug_plugin_output\', 10, 2 );
function debug_plugin_output( $plugin, $network_wide ) {
$output = ob_get_contents();
if ( !empty($output) ) {
echo "Activation of plugin \'" . $plugin . "\'";
echo " generated " . strlen( $output ) . " characters of unexpected output:<br><br>";
echo "<textarea rows=\'100\' cols=\'40\'>" . $output . "</textarea>";
exit;
}
}