我试图使用wp_localize_script();
函数使wordpress中的JS脚本可以访问两个变量。我按照手抄本注册,本地化和查询我的脚本。
wp_register_script( 'overview-map-js', '/js/overview-map.js');
$translation_array = array (
'latitude' => $location["lat"],
'longditude' => $location["long"]
);
wp_localize_script( 'overview-map-js', 'lat_long_vars', $translation_array );
wp_enqueue_script( 'maps-cdn', '//maps.googleapis.com/maps/api/js?v=3.exp&sensor=false' );
wp_enqueue_script( 'overview-map-js' );
但是,脚本中的变量未定义:
jQuery( document ).ready(function($) {
console.log(lat_long_vars.longditude);
console.log('test');
})
变量在PHP中设置。任何人都可以在这里提出问题的建议吗?
答案 0 :(得分:2)
注册脚本时不能使用相对路径。要解决这个问题:
如果你没有使用儿童主题:
wp_register_script( 'overview-map-js', get_template_directory_uri() . '/js/overview-map.js');
如果您使用的是儿童主题:
wp_register_script( 'overview-map-js', get_stylesheet_directory_uri() . '/js/overview-map.js');