在WordPress中使用Add_filter更改某些内容的输出

时间:2014-06-15 12:05:08

标签: wordpress

我正在使用Tim Whitlock's Latest Tweets插件来显示推文。

我想修改插件的默认输出。我在插件文件的第137行找到了以下内容:

$final = apply_filters('latest_tweets_render_tweet', $html, $date, $link, $tweet );
            if( $final === $html ){
                $final = '<p class="tweet-text">'.$html.'</p>'.
                         '<p class="tweet-details"><a href="'.$link.'" target="_blank">'.$date.'</a></p>';
            }
            $rendered[] = $final;

并想出了这个过滤器来尝试更改输出:

add_filter('latest_tweets_render_tweet', 'modified_tweets', 10);

function modified_tweets( $html, $date, $link, $tweet ) {

$final = '<div class="col-sm-4">'.
         '<p class="tweet-text2">'.$html.'</p>'.
         '<p class="tweet-details"><a href="'.$link.'" target="_blank">'.$date.'</a></p>'.
         '</div>';

         $rendered[] = $final;

};

但是,输出保持不变。我有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您必须返回该数组,因此请添加: -

return $rendered;

之后: -

$rendered[] = $final;

答案 1 :(得分:0)

正如DWX所提到的,你错过了return。但是你不需要返回一个数组,原始代码需要一个字符串:

$my_final = '<div class="col-sm-4">'. $etcetera;
return $my_final;

并且在添加过滤器时添加优先级后的参数数量:

add_filter('latest_tweets_render_tweet', 'modified_tweets', 10, 4);