是否建议将一些数据传给`wp_enQueue_scripts`中的脚本?

时间:2012-01-21 作者:Jared

我曾多次使用wp_enqueue_script 要将一些“查询变量”传递给如下脚本:

function my_enqueue_scripts(){
    $tempurl = urlencode( get_bloginfo( \'template_url\' ) );
    wp_register_script( \'somescript\', get_bloginfo( \'template_url\' ) . \'/js/somescript.php?url=\' . $tempurl );
    wp_enqueue_script( \'somescript\' );
}
add_action( \'wp_enqueue_scripts\', \'my_enqueue_scripts\' );
我只是想知道这是一种“最佳实践”还是“安全”的做法,我不明白为什么不这样做,但我想除非你问,否则你永远不会知道。我只是想知道这样做的缺点是什么,或者是否有其他/更好的方法来做到这一点。

我还注意到,如果我传递了多个变量,那么在脚本中实际上只有第一个变量是可检索的。我需要做些什么才能做到这一点吗?

一些建议会很好,谢谢。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

wp_localize_script 是将数据从php传递到javascript的“WordPress方式”。看见this post Otto提供更多信息。

结束

相关推荐

如何重写URL以通过AJAX将请求传递给定制方法?(我不能使用admin-ajax.php)

我必须构建一个WordPress插件,为AJAX调用提供HTML。但是,由于服务器环境的原因,我不能使用传统的admin-ajax.php.有人告诉我,我可以使用url重写构建自定义页面,例如:/my-ajax-calls/因此,当我向该页面发送请求时,它将是:jQuery.get(\"/my-ajax-calls/param1/param2/\",...); 那我可以用param1 &;param2 并给出相应的HTML。我知道如何构建插件,如何重写URL以将其与生成HTML的方法连接起