eps*_*n42 3 wordpress google-maps google-maps-api-3
我对 WordPress 很陌生,我正在学习 Udemy 主题开发课程,其中一部分涉及使用 Google Maps API。当我注册/排队脚本时,查看页面时它不会出现在 HTML 源代码中。开发人员控制台中也没有错误。
这是我的一个片段functions.php:
wp_register_script('googlemaps', 'https://maps.googleapis.com/maps/api/js?&key=AIzaSyCCyUD3v8kBVRphqG1RYjYcSKBcyC-prKw&callback=initMap', array(''), '', true);
wp_register_script('fluidboxjs', get_template_directory_uri() . '/js/jquery.fluidbox.min.js', array('jquery'), '2.0.5', true);
wp_register_script('script', get_template_directory_uri() . '/js/scripts.js', array('jquery'), '1.0.0', true);
wp_enqueue_script('googlemaps');
wp_enqueue_script('jquery');
wp_enqueue_script('fluidboxjs');
wp_enqueue_script('script');
}
add_action('wp_enqueue_scripts', 'lapizzeria_styles');
Run Code Online (Sandbox Code Playgroud)
这是页脚下方输出的 HTML(我相信我应该在这里看到 Google API 的链接):
<script type='text/javascript' src='http://localhost/udemy/lapizzeria/wp-content/themes/lapizzeria/js/jquery.fluidbox.min.js?ver=2.0.5'></script>
<script type='text/javascript' src='http://localhost/udemy/lapizzeria/wp-content/themes/lapizzeria/js/scripts.js?ver=1.0.0'></script>
<script type='text/javascript' src='http://localhost/udemy/lapizzeria/wp-includes/js/wp-embed.min.js?ver=4.7.4'></script>
Run Code Online (Sandbox Code Playgroud)
有趣的是,当我排队时,这条线确实出现在头部googlemaps:
<link rel='dns-prefetch' href='//maps.googleapis.com' />
Run Code Online (Sandbox Code Playgroud)
作为这个问题的一些背景:
练习的第一步是将Google 的示例代码(脚本和样式)直接放入其中front-page.php,地图显示正常。
第二步是从出的运动的代码front-page.php并且将其放置在functions.php,scripts.js和style.css。
将样式移动到style.css工作正常。将initMap()功能移动到scripts.js工作正常。但是,当尝试在其中加入/注册 Google Maps API 时functions.php,似乎不会像<script>其他已排队的项目那样在页脚下添加Maps API。
我不确定它是否有所作为,但我在本地工作并运行 MAMP。我尝试清除浏览器缓存并使用其他浏览器。我试过改变它排队的顺序。
编辑:
有一两件事我注意到的是,如果我把一个依赖在googlemaps它打印<script>我期待的标签,但带来了在控制台此错误:initMap is not a function。我的理解是 Google Maps API 不应该要求 jQuery 工作,所以我不确定这一点额外信息是否相关。
<script type='text/javascript' src='https://maps.googleapis.com/maps/api/js?key=AIzaSyCCyUD3v8kBVRphqG1RYjYcSKBcyC-prKw&callback=initMap&ver=4.7.4'></script>
Run Code Online (Sandbox Code Playgroud)
也许#038;出现在上面的行中有一些可疑的事情?
任何帮助,将不胜感激!
我怀疑这个问题是由于为googlemaps. 该数组包含一个空字符串,而不是传入一个空数组来指定脚本没有依赖项。无法满足依赖关系,因此未加载脚本。
只需替换array('')为array().
wp_register_script('googlemaps', 'https://maps.googleapis.com/maps/api/js?&key=AIzaSyCCyUD3v8kBVRphqG1RYjYcSKBcyC-prKw&callback=initMap', array(), '', true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4821 次 |
| 最近记录: |