我似乎无法解决这个问题。
我将Wordpress与高级自定义字段和自定义帖子类型结合使用,以便显示包含与这些自定义帖子类型相关联的位置的地图。
我正在使用MarkerClusterer并想为其自定义图标,并且不想对图像的路径进行硬编码。
我知道我应该使用wp_localize,但不知道该怎么做。
我的主题文件夹中有一个functions.php文件,我认为我必须将template_directory_uri()作为变量传递。
我的主题文件夹中有一个需要读取该变量的/js/acf_maps.js,而不是在js文件中对此进行硬编码:
url: 'http://mysite/wp-content/themes/mytheme/img/clustercustomicon.png'
我想要
http://mysite/wp-content/themes/mytheme/
作为变量传递,仅添加自定义图标的相对路径。
希望这是有道理的。 谢谢。
答案 0 :(得分:1)
如果您创建一个全局javascript变量,您将能够在其他js文件中访问它
var theme_url = '<?php echo template_directory_uri(); ?>';
并在js文件中,
var icon = window.theme_url+'/img/clustercustomicon.png';
答案 1 :(得分:1)
我更喜欢使用wp_localize_script
传递变量。
$array['theme_url'] = template_directory_uri();
wp_localize_script( 'enqueue_handle', 'variable', $array);
然后在javascript中使用variable.theme_url访问变量。
http://codex.wordpress.org/Function_Reference/wp_localize_script