@洋红的解决方案是简单的解决方案,应该能够充分发挥作用。但是,它确实运行rather complicated shortcode regex 两次,再加上do_shortcode()
呼叫两者都应该是可以避免的。
你没有说出你正在使用的插件的名字,搜索揭示了许多我没有时间去挖掘的可能性,所以这里有一个外线和概念验证代码。
其思想是通过直接调用插件的短代码处理函数来避免第二个复杂的短代码序列。
// The callback for the wp-slideshow shortcode
// I don\'t know the real function name
function plugin_gallery_shortcode( $atts, $content = null ) {
$atts = shortcode_atts(
array( \'include\' => \'\' ),
$atts
);
var_dump($atts);
}
add_shortcode(\'wp-slideshow\',\'plugin_gallery_shortcode\');
// This is a callback we are using to hijack the Core gallery
function convert_gallery_shortcode( $atts, $content = null ) {
$atts = shortcode_atts(
array( \'ids\' => \'\' ),
$atts
);
$atts[\'include\'] = $atts[\'ids\'];
unset($atts[\'ids\']);
plugin_gallery_shortcode($atts,$content);
}
// only hijack if the plugin gallery callback exists
if (function_exists(\'plugin_gallery_shortcode\')) {
add_shortcode(\'gallery\',\'convert_gallery_shortcode\');
}