有人可以解释一下wp_localize_script()
做什么吗?
即使我在WP Codex中读过它,我也不明白它的作用。
答案 0 :(得分:18)
它允许您通过打印JavaScript对象在客户端中使用PHP数据。 From the Codex:
本地化脚本,但仅在已添加脚本的情况下。的能 也可用于在页面中包含任意Javascript数据。
你这样使用:
// Register script as per Codex instructions.
// It doesn't have to contain anything but the file must exist
wp_register_script('handle', get_template_directory_uri() .'/js/dummy.js');
// Send data to client
wp_localize_script('handle', 'Data', array(
'url' => home_url(),
));
这将在JavaScript中打印一个对象:
<script type='text/javascript'>
/* <![CDATA[ */
var Data = {"url":"http://..."};
/* ]]> */
</script>
现在,您可以在客户端访问该数据:
console.log(Data.url);
当您构建插件时,它非常有用,因此您可以将客户端与服务器逻辑分开,而不是将JS和PHP全部混合在同一个文件中。