是否为所有帖子查询激活短代码?

时间:2014-03-12 作者:Lisandro Vaccaro

我需要在小部件和各种插件上使用短代码。对于我简单使用的小部件:

add_filter(\'widget_title\', \'do_shortcode\');
add_filter(\'widget_text\', \'do_shortcode\');
然而,我不知道如何激活插件的短代码。我注意到他们都是通过WP\\u查询获得帖子,然后是$post->post\\u内容。也许有一种方法可以过滤post查询?如何激活所有后期回音的短代码?

1 个回复
SO网友:s_ha_dum

有一种方法可以将其应用于所有帖子内容。

function sc_all_content_wpse_137734($posts) {

  foreach ($posts as &$p) {
    $p->post_content = do_shortcode($p->post_content);
  }

  return $posts;
}
add_filter(\'the_posts\',\'sc_all_content_wpse_137734\');
我认为这是一个非常非常好的打破现状的方法。插件和主题不会期望短代码呈现得那么早,上面的代码将打破依赖于$post global, 虽然这可以通过setup_postdata.

结束

相关推荐

Youtube shortcode

我正在努力使这个短代码起作用,但没有任何成功。所有的尝试都给了我一个白色的方块。 function youtube($atts) { extract(shortcode_atts(array( \"value\" => \'https://www.youtube.com/watch?v=EhWopzlRwZ8\', \"width\" => \'475\', \"height\" => \'350\', \