記事数が増えてきたため 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 氏のコードを完全に除去してしまってから再配布するのが無難かも。