我继承了一个wordpress网站,该网站将主javascript存储在.php文件中,因为它使用在网站的其他php模板中设置的全局变量。例如,主 javascript 文件使用依赖于 php 变量的条件,如下所示:
<?php if ($GLOBALS['page_class'] == 'news' ?>
$("foo").someJavaScriptAction();
我的追求是将这个主要的javascript文件重写为一个纯.js文件,而不依赖于任何php。有没有办法检查.js文件中的那些 php 变量?如果没有,在我的新.js文件中检查这些变量的策略是什么?
在
Wordpress中执行此操作的真正正确的方法是使用wp_localize_script
(在您的主题函数中使用它.php):
function enqueue_scripts() {
wp_register_script('theme-script', get_stylesheet_directory_uri() . '/js/script.js', array('jquery'), '', true);
wp_localize_script('theme-script', 'script_vars', array(
'var1' => $GLOBALS['var1'],
'var2' => $GLOBALS['var2']
));
wp_enqueue_script(theme-script);
}
然后,要访问脚本中的var1
.js只需执行以下操作:script_vars.var1