
原来elementor里面带的地图是谷歌地图,但是在国内就用不了了,一个很好的插件,瞬间就不完美了,既然它是谷歌地图,那么我们就把他修改为百度地图,岂不是很好吗,说干就干。
需要修改的代码在下面:
/wp-content/plugins/elementor\includes\widgets\google-maps.php第260行左右
怎么修改呢?我们找到,第260行,大约有如下代码:
printf( '<div class="elementor-custom-embed"><iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?q=%1$s&t=m&z=%2$d&output=embed&iwloc=near" title="%3$s" aria-label="%3$s"></iframe></div>', rawurlencode( $settings['address'] ), absint( $settings['zoom']['size'] ), esc_attr( $settings['address'] ) );
修改或者替换成如下的代码:
$apikey="";//填写自己的apikey吧,百度地图官网自己新建应用,秒通过的。 $addressinfo=file_get_contents("http://api.map.baidu.com/place/v2/search?query=".$settings['address']."&tag=".$settings['address']."®ion=".$settings['address']."&output=json&ak=".$apikey.""); $addressinfo=json_decode($addressinfo,true); $uid=$addressinfo['results'][0]['uid']; printf( '<div class="elementor-custom-embed"><iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://map.baidu.com/poi/%1$s/@0,0,%2$dz?uid='.$uid.'&ugc_type=3&ugc_ver=1&device_ratio=2&compat=1&querytype=detailConInfo&da_src=shareurl" title="%3$s" aria-label="%3$s"></iframe></div>', rawurlencode( $settings['address'] ), absint( $settings['zoom']['size'] ), esc_attr( $settings['address'] ) );
电脑端看着还行,但是手机端就有点抽风了,只能看到地址,而不能看到地图,方法可行,剩下的就麻烦各位大神请自己修改试试,应该是可以通过修改iframe标签来进一步美化吧。
发表评论