问题描述

在 WordPress 中有一个钩子,我可以使用它来过滤特定的短代码的输出?这样的东西

add_filter('shortcode_output', 'my_filter_function', 2);

function my_filter_function ( $output, $shortcode ) {
    ....
}

$shortcode[my_schortcode]或更好的代码,它的属性分为数组。

最佳解决方案

我知道的 There is no filter 旨在针对您想要的个人短信。

您可以使用 shortcode_atts_{$shortcode}过滤属性。

您可以通过创建自己的回调并将其注册到原始的短码插件来劫持另一个短码。我认为这是你可能需要做的。

概念证明:

function my_gallery_shortcode($atts) {
  return 'howdy';
}
add_shortcode('gallery','my_gallery_shortcode');

现在尝试使用画廊:)

次佳解决方案

WordPress 4.7 推出了一个新的过滤器,do_shortcode_tag,做到这一点。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。