私には2つの機能があります:
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」です。
通常、display_function($ atts)は次のように表示されます。
<div>This is Core Function!</div>
また、出力バッファリングを使用すると、次のように表示されます。
1 <div>This is Core Function!</div>
なぜそれが起こっているのですか?それが私の関数と関係がある場合、私はもう一度言います-1はすべてのコンテンツの前に正確に表示されています。