你可以
remove_shortcode( \'nggallery\' );
然后再次添加:
function put_script_after_nggallery_shortcode( $atts ){
global $nggShortcodes;
$nggShortcodes->show_gallery($atts); //or otherwise duplicate the callback function
wp_enqueue_script(\'special-ngg-sciprt\', \'url-to-script\', null, null, true);
}
add_shortcode( \'nggallery\', \'put_script_after_nggallery_shortcode\' );
我不确定我的show\\u gallery能否正常工作,但似乎合乎逻辑
您需要添加什么脚本?为什么不单独使用wp\\u enqueue\\u脚本?没有任何理由让脚本代码内联。
EDIT #1
由于$nggShortcodes显然不是全局变量,我们可以尝试使用对象表示法。。。如果这不起作用,您也可以复制NextGen的gallery快捷码回调的内容。此外,我还添加了一个类检查,以确保在NextGen被停用时不会破坏您的站点。
function put_script_after_nggallery_shortcode( $atts ){
if( ! class_exists(\'NextGEN_Shortcodes\')) return;
NextGEN_Shortcodes->show_gallery($atts); //or paste in the callback function
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
alert(\'bacon\');
});
</script>
<?php
}
add_shortcode( \'nggallery\', \'put_script_after_nggallery_shortcode\' );