【发布时间】:2016-10-27 07:47:23
【问题描述】:
我正在使用this Twitter 插件。我使用模板中的do_shortcode 函数输出它的内容。
在他们的 other notes 部分中,它说我可以覆盖自定义 HTML 标记,它将使用 add_filter('latest_tweets_render_list') 在列表对象中输出推文
但是,当我这样做时
add_filter('latest_tweets_render_list', function( array $list ){
return '<div>'.$list.'</div>';
}, 10, 1);
我收到一条 PHP 警告,指出存在 array to string conversion,但它不输出任何推文。
我查看了插件核心文件,有这个。
function latest_tweets_render_html( $screen_name = '', $num = 5, $rts = true, $ats = true, $pop = 0 ){
$items = latest_tweets_render( $screen_name, $num, $rts, $ats, $pop );
$list = apply_filters('latest_tweets_render_list', $items, $screen_name );
if( is_array($list) ){
$list = '<ul><li>'.implode('</li><li>',$items).'</li></ul>';
}
return
'<div class="latest-tweets">'.
apply_filters( 'latest_tweets_render_before', '' ).
$list.
apply_filters( 'latest_tweets_render_after', '' ).
'</div>';
}
如何正确使用latest_tweet_render_list 过滤器来覆盖默认的HTML 标记?我曾尝试使用 foreach 循环,但这也没有成功。如果可以避免,我不希望修改插件文件。
【问题讨论】:
标签: php html arrays wordpress twitter