入队脚本正在为Google地图添加额外文本

时间:2018-11-26 作者:rudtek

我正在我的网站上设置google地图,我正在尝试设置脚本的排队,但出现了一个错误:

我已将此代码放置在我的函数中。php(此处未使用实际api密钥):

function rt_load_acf_map()
{
    // Register my scripts for my theme:
    wp_register_script( \'map-script\', get_stylesheet_directory_uri() . \'/js/acf-map.js\', array( \'jquery\' ) );
    wp_register_script( \'googlemap\', \'https://maps.googleapis.com/maps/api/js?123123123123\' , \'\', \'\', false );
    wp_register_script( \'slider-script\', get_stylesheet_directory_uri() . \'/js/slider.js\', array( \'jquery\' ) );

    // For either a plugin or a theme, you can then enqueue the script:
    wp_enqueue_script( \'map-script\' );
    wp_enqueue_script( \'googlemap\' );
    if(is_front_page()){
        wp_enqueue_script( \'slider-script\' );
    }
}
add_action( \'wp_enqueue_scripts\', \'rt_load_acf_map\' );
地图加载在前端,但存在覆盖错误:

此页面无法正确加载Google地图。

在我的控制台中,我看到以下错误:

Google Maps JavaScript API警告:NoApiKeyshttps://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys

当我查看页面源代码时,我看到&#038 然后添加了版本:

<script type=\'text/javascript\' src=\'https://maps.googleapis.com/maps/api/js?123123123123&#038;ver=4.9.8\'></script>
编辑

api密钥正确且有效。这不是问题所在。

其次,当我删除wp\\u register\\u脚本及其wp\\u排队并使用这一行时:

wp_enqueue_script( \'google-maps-api\', \'//maps.googleapis.com/maps/api/js?key=123123123123\', array(), \'\', true );
一切正常。

我不明白为什么它不能像wone line一样工作,并且在google地图url前面使用http。

2 个回复
最合适的回答,由SO网友:shanebp 整理而成

当你打电话给谷歌时key 缺少变量名称。

wp_register_script( \'googlemap\', \'https://maps.googleapis.com/maps/api/js?123123123123\' , \'\', \'\', false );
应为:

wp_register_script( \'googlemap\', \'//maps.googleapis.com/maps/api/js?key=123123123123123123123123\' , \'\', \'\', false );

SO网友:Pat J

设置$ver 参数到false (或者,很可能,\'\', 将当前WordPress版本附加到<script> 标签要不附加版本号,请使用null 而是:

wp_register_script( 
    \'googlemap\',
    \'https://maps.googleapis.com/maps/api/js?123123123123\',
    array(),
    null,
    false
);
(同时$deps 参数应该是空数组,而不是空字符串,上面的代码中也对空字符串进行了处理。)

However: 我认为这不是你真正的问题。您问题中的错误消息表明您没有Google地图的API密钥,这是您必须与Google解决的问题。

参考文献

wp_register_script() docs

结束

相关推荐