Advanced Custom Fieldsの管理画面内Google Mapsがいつの間にかAPI必須になってた
2016年6月22日以降に新たに制作されたサイトでGoogle Mapsを利用する場合は、APIキーが必須なっています。
以前この時期にAdvanced Custom Fields(以下ACF)を使ってサイトを作ったクライアントさんがいまして、webサイトには発行したAPIキーを<script src=”https://maps.googleapis.com/maps/api/js?key=XXXXXX”></script>(XXXXXXはAPIキー)で読ませてあったので大丈夫だったのです。
が、
管理画面内のACFで設定した項目を見ると・・・
うわあああああああ
6月当初はACF管理画面表示はAPIキーがなくても動いていたので大丈夫だ思ってたんですがね。よくよく考えてみればAPI必要ですよね。
ACF開発元にちゃんと書いてありました。
Google Map / ACF
function.phpに下記のコードをコピペするだけで管理画面内のGoogle Mapsが表示されるようになりました。
XXXXXXには取得したAPIキーを入れます。フィルターフックで管理画面内にAPIキーを入れ込んでるようですね。
function my_acf_google_map_api( $api ){
$api['key'] = 'XXXXXX';
return $api;
}
add_filter('acf/fields/google_map/api', 'my_acf_google_map_api');
// PRO版の場合は下記
function my_acf_init() {
acf_update_setting('google_api_key', 'xxx');
}
add_action('acf/init', 'my_acf_init');