如何解决Google Maps Javascript与Wordpress admin Javascript的冲突
我有一个目前正在部署的webshop,它基于Wordpress。我添加了一个功能,如果管理员输入地址,地图将显示。到目前为止,一切都很好 但是,我注意到,每当我添加以下内容时:如何解决Google Maps Javascript与Wordpress admin Javascript的冲突,javascript,wordpress,google-maps,Javascript,Wordpress,Google Maps,我有一个目前正在部署的webshop,它基于Wordpress。我添加了一个功能,如果管理员输入地址,地图将显示。到目前为止,一切都很好 但是,我注意到,每当我添加以下内容时: wp_enqueue_script('googlemap', 'http://maps.google.com/maps/api/js?sensor=false', array(), false, true); 这显然是谷歌地图js,Wordpress管理员的拖放功能(最明显的是小部件区域)不起作用。我试着评论这句话,瞧
wp_enqueue_script('googlemap', 'http://maps.google.com/maps/api/js?sensor=false', array(), false, true);
这显然是谷歌地图js,Wordpress管理员的拖放功能(最明显的是小部件区域)不起作用。我试着评论这句话,瞧,小部件的拖放又回来了,但当然没有谷歌地图
你也遇到过这种情况吗?你是怎么做到的?目前,我正在通过非javascript版本的小部件操作我的管理页面。可行,但不理想。尝试:
if (!is_admin()) {
wp_enqueue_script('googlemap', 'http://maps.google.com/maps/api/js?sensor=false', array(), false, true);
}
编辑:请评论,如果这是正在使用的管理面板,我会找到一个解决办法;上面的代码只在前端对googlemap脚本进行排队。这可能会对您有所帮助,因为它刚刚解决了我的问题 我加载了与您相同的谷歌地图,但在我自己的js文件中,我有:
if($('#gmap').length != 0){
initialize();
}
这样,它就不会加载到没有#gmap元素的页面上您可以极其精确地控制必须加载脚本的管理面板页面。首先要考虑的是:如果没有找到DOM元素,MAP API会生成错误“A是未定义的”。因此,您必须在管理面板的右侧页面加载API 我使用以下脚本在特定的自定义post类型编辑屏幕中加载GMaps API:
add_action('admin_enqueue_scripts', 'my_admin_enqueue_scripts' );
function my_admin_enqueue_scripts( $hook ) {
if( ('my_custom_post_type' != get_post_type()) || ('edit.php' == $hook) )
return;
// enqueue GMaps API
wp_enqueue_script('google-maps-api', 'http://maps.googleapis.com/maps/api/js?sensor=false' );
}