我有两个功能:
core_function($atts) {
(attributes)
(core functions, a few loops, echoes, a lot of direct input)
}
这就是我使用输出缓冲显示函数的方式(是的,我必须使用它!)。
display_function($atts) {
(attributes)
$output = ob_start();
$output .= core_function($atts);
$output .= ob_get_clean();
return $output;
}
一切都很好,但是 return $output 不仅显示核心功能,而且在它们之前显示“1”。我不知道这个“1”是从哪里来的。当我删除 ob_start(); 和 ob_get_clean(); 它消失了。所以我相信输出缓冲区以某种方式添加了这个数字。但是如何,为什么?它是原始的“1”,而不是段落等。
Normaly display_function($atts) 显示,例如:
<div>This is Core Function!</div>
并通过输出缓冲显示:
1 <div>This is Core Function!</div>
为什么会这样?如果它与我的功能有关,我再说一遍 - 1 正好在所有内容之前显示。