我继承了一个wordpress网站,它将主要的javascript存储在.php文件中,因为它使用了在网站的其他php模板中设置的全局变量。因此,例如,主javascript文件使用依赖于php变量的条件,如下所示:
<?php if ($GLOBALS['page_class'] == 'news' ?>
$("foo").someJavaScriptAction();
我的任务是将这个主要的javascript文件重新编写成纯粹的.js文件,而不是依赖任何php。有没有办法可以检查.js文件中的那些php变量?如果没有,那么在我的新.js文件中检查这些变量的策略是什么?
答案 0 :(得分:1)
在Wordpress中执行此操作的真实,正确的方法是使用wp_localize_script
(在主题 functions.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);
}
然后要访问 script.js 中的var1
,请执行以下操作:script_vars.var1