快捷代码始终显示在第一位。再一次

时间:2011-03-02 作者:Wordpressor

好的,我在上一个快捷键中遇到了回声问题,但现在一切正常。

但我还有一个:

function myWidget_shortcode( $atts ) {
        extract( shortcode_atts( array(
        \'title\' => \'My Widget\',
        \'value\' => \'5\',
        ), $atts ) );

        return the_widget(myWidget,\'title=\'.$title.\'&value=\'.$value);
}

add_shortcode(\'myWidget\', \'myWidget_shortcode\'); 
你能告诉我这个短代码在页面上总是第一个显示吗?没有回声等,所有数据都在返回。。。

[找到答案-编辑]

This resolves the problem:

ob_start();    
the_widget(popularPosts,\'title=\'.$title.\'&number=\'.$number);
return ob_get_clean();
无论如何,我不明白为什么在这种情况下总是第一个。因为\\u小部件本身就是一个函数,它会响应某些内容?:>

1 个回复
最合适的回答,由SO网友:Dougal Campbell 整理而成

是的,看看widget() 方法MyWidget 班它有回声吗?很可能是这样,因为这就是小部件通常的编写方式。事实上,如果看到一个小部件在其widget() 方法

当你打电话的时候the_widget(), 它获取您请求的小部件的一个实例,并调用$widget_obj->widget($args, $instance);. 所以它会发出回声,不会返回任何信息。

结束

相关推荐

Why use widgets?

我对使用WordPress很陌生,我想知道使用小部件的好处是什么?看here 这听起来像是为那些不是程序员的人准备的,他们想在他们的网站上添加插件。对吗?或者小部件是否在某种程度上使站点更加健壮?