不确定最后一次是什么时候,但您可以劫持每个短代码和任何一个调用wp_localize_script()
此处或注册操作wp_footer
运行时间早于页脚脚本处理程序的。
比如说,这是原文:
add_shortcode( \'foo\', \'original_function\' );
现在,您可以使用以下内容覆盖它:
add_shortcode( \'foo\', \'new_function\' );
function new_function( $atts, $content = \'\', $shortcode_name )
{
wp_localize_script( \'my_handle\', $data );
// alternative: register a callback for wp_footer
add_action( \'wp_footer\', \'localize_my_script\', -2 );
return original_function( $atts, $content = \'\', $shortcode_name );
}
相关,有一个较长的示例:
Use AJAX in shortcode更新以响应您的评论
捕获
gallery
短代码更简单:
add_filter( \'post_gallery\', \'collect_gallery_args\', 10, 2 );
function collect_gallery_args( $empty, $args )
{
// store $args somewhere, then
add_action( \'wp_footer\', \'localize_my_script\', -2 );
return $empty;
}
请参见
wp-includes/media.php
.