WordPress插件|短代码问题

时间:2016-08-14 作者:rasel mahmud

我开发了一个wordpress插件,它非常简单。有一个函数是关于短代码的。问题是,当我在内容上使用该短代码时,插件内容位于最前面:(

当我在页面模板上使用这个短代码时,比如“3”没有图像,效果很好!

4 |http://prnt.sc/c5ohd5我认为循环有问题:(“4”没有图片显示循环BTW如果你需要全部代码,那么插件链接是https://wordpress.org/plugins/wp-testimonials-oiiio/

提前感谢:)

1 个回复
SO网友:TheGentleman

如果没有看到您的代码,就不可能确定,但我猜测您是在响应您的短代码的输出,而不是返回它。

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 到输出缓冲区,然后将该缓冲区作为字符串返回。