2007-01-13
晴れ

地図プラグイン再修正

yuriko による 11:27:38 の投稿
カテゴリー: WordPressハック

記事数が増えてきたため Google Maps プラグインの実行時に PHP のメモリー不足になって画面真っ白になる症状が出てしまったので、また修正しました。$posts = new WP_Query("showposts=999999"); という部分が問題なので、その外側に for ループをつけてページめくりさせることにしました。

for ($page = 1, $yet = TRUE ; $yet ; $page++) {
  $posts = new WP_Query("paged=$page");
  if (! $posts->have_posts() || $page > 100000) {
    $yet = FALSE;
  }
  while ($posts->have_posts()) : $posts->the_post();
    $lat = get_Lat();
    $lon = get_Lon();
    if ($lat && $lon) {
      if ($lat == $center_lat && $lon == $center_lon) {
        $loc[0] = yn_googlemaps_infowindow($lat, $lon);
      } elseif ($lat >= $center_lat - $range_h && 
                $lat < = $center_lat + $range_h &&
                $lon >= $center_lon - $range_w && 
                $lon < = $center_lon + $range_w) {
        $loc[] = yn_googlemaps_infowindow($lat, $lon);
      }
    }
  endwhile;
}

また、管理画面の日本語化として、po/mo ファイルを利用した仕組みを採用してみました。元々 _e(ほげほげ); というコードがあってローカライズを考慮しているように見えますが、テキストドメインの指定がめちゃめちゃでした。作者は _e(); 関数の正しい使い方が分かってないと思います;-)

元にした Yongfook さんの Plug ‘n’ Play Googlemap プラグインはライセンスが不明なので、改造したものの再配布が可能かどうかさっぱり不明です……。フリーウェア (==無料ソフトウェア) であると思いますが、GPL 等のフリーソフトウェアかどうかは分からないのが難点です。

もっとコード修正して、Yongfook 氏のコードを完全に除去してしまってから再配布するのが無難かも。

コメント・ピン通知 »

トラックバック・コメントはありません。
※スパム対策プラグインの影響により、すぐにトラックバックが反映されない場合があります。お手数ですが、半日ほど待ってみてください。

上に戻る

コメント投稿

※発言の責任を明確にするため「名無し」「通りすがり」「匿名希望」等の匿名は不可とします。捨てハンドルでもいいので必ず名乗ってください。
XHTML (使えるタグ): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> .
※スパム対策プラグインの影響により、すぐにコメント内容が表示されない場合があります。お手数ですが、半日ほど待ってみてください。

上に戻る