如果没有看到您的代码,就不可能确定,但我猜测您是在响应您的短代码的输出,而不是返回它。
function my_shortcode($atts){
//do shortcode logic
echo $result; //This is wrong and would do what you describe.
}
function my_shortcode($atts){
//do shortcode logic
return $result; //This is what you should do instead.
}
如果您必须在插件中进行回显,您可以这样做。
function my_shortcode($atts){
ob_start();
//do shortcode logic
return ob_get_clean();
}
该函数将存储
echo
到输出缓冲区,然后将该缓冲区作为字符串返回。