WordPressのプラグインであるGoogle Map Anywhere(Googleマップをページに表示させるプラグイン)とGoogle Calendar Widget(Googleカレンダーの予定をサイドバーに表示させる)がぶつかっているようなのでメモる。
【症状】
コンサドーレの応援サイトであるコンサデコンサの本宅にGoogle Calendar Widgetをインストールしたところ、エラーメッセージが表示されるようになった。
(稼働状況)
WordPress:3.2.1
Google Map Anywhere:1.2.6.3
Google Calendar Widget:1.3.2
このような状況の際、Google Map Anywhereを利用してマップを表示するようにしたページにアクセスすると、下記の様なメッセージが表示される。これはMac Safariのものだが、FireFoxでも同様のメッセージが表示された。
「このウェブサイトには別の Google Maps API キーが必要です。新しいキーは http://code.google.com/apis/maps/signup.html で作成できます。」
【原因】:
二つのプラグインが文頭に宣言するGoogle Java Scriptの宣言文がかち合っている。エラーが表示されるページをブラウザで表示させ、ソースを見てみると、文頭に下記の様なソースがあるはず。
Google Map Anywhereは、APIキーが必要なので、下記の様に宣言。
[php]
[/php]
Google Calendar Widgetは、APIキーが不用なので、下記の様に宣言。
[php]
[/php]
このため、Google Calendar WidgetのAPI keyのないscript宣言文に対して、Google Map AnywhereがAPI keyが宣言されていない旨のエラーメッセージを出している。
【解決方法】:
[php]
[/php]
文頭に表示されるこの部分を削除すればいい。
が、プラグインのソースをいじくるのは骨が折れるので、Google Map Anywhereをあきらめることにした。現在は、API keyがなくても、Googleの地図は表示することができるので。
古いコンテンツの地図の部分のソースを全て書き換えなくてはいけないのはめんどくさいが仕方がない。