Google Maps for WordPress日本語版の不具合を修正しました

先日、canawell さんから Google Maps for WordPress のコメント欄に

私も、Your Google API Key appears to be valid!が表示されず、エディターに送るを押しても反応しませんせんでした。
(中略)
日本語版をダウロードし、プラグイン-アップロードでインストールすると、プラグインのフォルダ名が「google-maps-for-WordPress_i10n」となり、有効化になっても動作しません。

そこで、解凍してpluginフォルダに「google-maps-for-WordPress」を作り手動でアップロードしてから、有効化すると動作します。

という不具合の報告をいただき、早速修正を施しました。

早速コードを調べてみるとJavascriptを呼び出すのに使っているコードが不味い模様。オリジナルである英語版の場合「google-maps-for-wordpress」という名のフォルダにインストールするので問題はないのですが、プラグインをインストールするフォルダ名をそれ以外に変更した場合Javascriptが呼び出されずプラグインが動作しない…というようで。日本語版は「google-maps-for-wordpress_i10n」となっているので問題が出てきたようです。

で、その修正ですが、wp-google-maps.php の110行目あたりにある次のコードを修正。eraseの付いた行を消去し、代わりにaddを付けた行を追加します。

    public function __construct()
    {
        $this->googleKey = get_option('wpGoogleMaps_api_key');
        $this->mapApiUrl = "http://maps.google.com/maps?file=api&v=2&key={$this->googleKey}";

//erase        $jsDir = get_option('siteurl') . '/wp-content/plugins/google-maps-for-wordpress/js/';
        $jsDir = WP_PLUGIN_URL ."/". GGLMAPWP_DIR_PATH . '/js/';		// <-- add

        wp_register_script('googleMaps', $this->mapApiUrl, false, 2);
        wp_register_script('wpGoogleMaps', "{$jsDir}wp-google-maps.js", array('prototype', 'googleMaps'), '0.0.1');
        wp_register_script('wpGoogleMapsAdmin', "{$jsDir}wp-google-maps-admin.js", array('jquery'), '0.0.2');
    }

これでプラグインを納めたフォルダ名にかかわらずjavascriptが正常に動いてくれるかと思います。もしGoogle Maps for WordPress日本語版をインストールしてプラグインを有効化したものの、Google Map APIキーが有効化しないという方は上記の修正を施してみてください。ちなみにこの修正はGoogle Maps for WordPress日本語版のみに有効です。

なお、修正したプラグインはSourceForge.JPにてVer. 1.0.3-ja1.0.2として公開しています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です