好的,我在上一个快捷键中遇到了回声问题,但现在一切正常。
但我还有一个:
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小部件本身就是一个函数,它会响应某些内容?:>
最合适的回答,由SO网友:Dougal Campbell 整理而成
是的,看看widget()
方法MyWidget
班它有回声吗?很可能是这样,因为这就是小部件通常的编写方式。事实上,如果看到一个小部件在其widget()
方法
当你打电话的时候the_widget()
, 它获取您请求的小部件的一个实例,并调用$widget_obj->widget($args, $instance);
. 所以它会发出回声,不会返回任何信息。