我有以下代码,这是插件短代码的一部分,我一直在尝试调试为什么它似乎跳过了对do_shortcode
. 为了调试,我一直在尝试将其写入日志文件(只是暂时编辑插件中的代码以尝试各种日志记录方法)。但奇怪的是file_put_contents()
这个电话实际上可以做任何事。其余的似乎都被跳过了,好像它们根本就不存在。
我甚至尝试在每个调试点组合一个长字符串,然后将其写入file_put_contents()
打电话似乎有用。。。除此之外,它们似乎都不起作用。我不知道还能尝试什么。这快把我逼疯了。(请注意:我最初并不是写这个插件的,我只是想知道为什么我们升级到Wordpress 4.4后它就停止工作了。我也不能升级插件或它来自的主题,因为网站的主题是建立在主题之上的,而不是作为子主题,如果我拉错了线,它是一个很容易掉到堆里的意大利面。)
add_shortcode(\'tabs\', \'kopa_shortcode_tabs\');
function kopa_shortcode_tabs($atts, $content = null) {
extract(shortcode_atts(array(), $atts));
$log_string = "";
$i = 0;
//CUSTOM DEBUG CODE START
$log_string += "Dealing with " . count($atts) . " tab(s)\\n";
file_put_contents($_SERVER[\'DOCUMENT_ROOT\'] . "/wp_log/test_log", "Test " . $i++ . "\\n", FILE_APPEND);
//CUSTOM DEBUG CODE END
$out = \'\';
//CUSTOM DEBUG CODE START
$log_string += "Handling content: " . $content . "\\n";
file_put_contents($_SERVER[\'DOCUMENT_ROOT\'] . "/wp_log/test_log", "Test " . $i++ . "\\n", FILE_APPEND);
//CUSTOM DEBUG CODE END
$out .= \'<div class="list-container-1">\';
$out .= \'<ul class="tabs-1 clearfix">\';
foreach ($atts as $key => $tab) {
$out .= \'<li><a href="#\' . $key . \'">\' . $tab . \'</a></li>\';
//CUSTOM DEBUG CODE START
$log_string += "Added key = " . $key . "; tab = " . $tab . "\\n";
file_put_contents($_SERVER[\'DOCUMENT_ROOT\'] . "/wp_log/test_log", "Test " . $i++ . "\\n", FILE_APPEND);
//CUSTOM DEBUG CODE END
}
$out .= \'</ul>\';
$out .= \'</div>\';
$out .= \'<div class="tab-container-1">\';
$out .= do_shortcode($content);
$out .= \'</div>\';
//CUSTOM DEBUG CODE START
$log_string += "Result: " . $out . "\\n";
//file_put_contents($_SERVER[\'DOCUMENT_ROOT\'] . "/wp_log/test_log", $log_string . "Run Complete\\n", FILE_APPEND);
file_put_contents($_SERVER[\'DOCUMENT_ROOT\'] . "/wp_log/test_log", "Test " . $i++ . "\\n", FILE_APPEND);
error_log($log_string . "Run Complete\\n\\n\\n");
//CUSTOM DEBUG CODE END
return $out;
}