wordpress:2.5
2008/04/04 金曜日 - 12:34:21 by decama遅れてたバージョン2.5がやっと公開されたのに、こっちが忙しくて触れない・・・
来週には時間を作ろう。
遅れてたバージョン2.5がやっと公開されたのに、こっちが忙しくて触れない・・・
来週には時間を作ろう。
この記事がポストされれば問題ないはず。
↓
ならば修正もされるはず。
↓
どちらもOK。
久しぶりにここを更新するようになって、気がついたらmixiへの書き込みが出来なくなってた。どうやらmixi側の修正にプラグインが対応できてかったのが問題みたいだったけど、その修正対応版でもなぜか動かない。
ソースを追っかけてみて、post_idを直接指定してプラグインファイルを実行させれば書き込めることは確認取れたので(前3件の記事をmixiに投稿してみた)、要はpublishToMixiに記事IDを渡してやればいいはず。
saveHandler, publishHandler からの executePublishToMixi が publishToMixi を呼び出してるのかと思ったらそうじゃなかった。
どうやら、executePublishToMixi でチェックさせた後で、 mixipublisher_isEnableSelfExecute から publishToMixiを呼んでる。
ところが、現行のWordPress(2.3.2)はpost_idをgetで投げてないから、 ここでコケる。
post_idをpostedに修正したら動くかな?と思ったけど、新規投稿はいけるけど、投稿済み記事の更新がダメだった。
なので、 executePublishToMixi から直接 publishToMixi を呼び出すように修正。
function executePublishToMixi($postId, $isModify=false) {
if(in_array($postId, $this->_publishedId)) {
return false; //falseを返すように修正
}
$settingVO = $this->getWpSetting();
if(!$settingVO->getParam('user_id')) {
return false; [...]
この前に書いた内容を固めようと思って自分の書いたコードを見直してみた。
ちょっと修正してやりゃなんとかなるかな?と思ったけど、現行の構造にうまく割り込ませようと思っても、キレイに収まらない。
一からやり直したほうが早いかも。うーん。テンションを上げないといかんなぁ。
それにしても、自分の書いたコードが汚くて嫌になる。それはつまり少しはスキルアップしてるってことなのかも知れないけど。
前のエントリに書いたように、ちょっと手を入れるために久しぶりにgooglemaps APIドキュメントを見に行ったら、geocoderが日本に対応したって公式ブログに書いてあった。
geocoderに対応させました。localsearchでgeocodeさせるにはAJAXのレスポンスで処理しなきゃいけなかったけど、今回のは直接位置情報を返してくれるので、呼び出しはスッキリしてる。
それより、自分で作っておきながら、いまひとつ使い勝手が良くない。
今は、このタグ
<!-- googlemaps:{loc:"ここに変換対象の住所などをかく"} -->
を書くと、
<!-- googlemaps:{loc:"ここに変換対象の住所などをかく", lat:35.646685, lng:139.71007} -->
と自動変換されるんだけども、これをどうにかしたい。
呼び出しタグだけ入れたら、住所入力用のテキストボックスを別に表示させてみようか?投稿画面で位置の調整ができるように地図を表示させてるのだから、その上か下にテキストボックスを追加してやりゃいい。んで、あえて緯度経度情報を見せる必要もない。
そっちのほうが、美しいし、直感的に使えそうだ。
手が空いたら、修正しましょう。<っていつになるんだ?
WordPress 2.1 Ella
WordPress 2.1 "Ella" がリリースされた。MUに先に組み込まれた機能とかも追いついてるみたい。
早速、テストインストールをしてみましょうか。
closureを使って、イベントドリブンな関数に関数オブジェクトのプロパティを参照させることはうまくいったけど。
関数オブジェクトと同時にイベントオブジェクトも渡そうと思ったらどうすればいいんだ?
addEventListenerでイベントをfunctionに渡す場合、引数を指定しなければ、イベントが引数に渡される。
んじゃ、ってんで他のオブジェクトを引数指定すると、イベントが参照されない。
うーん。
ここを参考にさせてもらいました。
要はイベントに対する処理を多重登録すればいい、ってこと。
最初の処理でイベントをwindow.eventに退避させ、次の処理でオブジェクト自身からwindow.eventを参照すればいい。
本家のマウスホールズームに近い機能をこれで追加出来ます。⇒出来ました。
前回のカテゴリマップでデフォルトのマップセンターとデフォルトのズームレベルを設定したけど、どうも気に入らない。なんとか該当ポイントを全て含むエリアのみを表示させられないかと思ってAPIドキュメントを読み込んでみた。
GLatLngBoundsオブジェクトのextendが使えそう。
最初の地点を仮にマップセンターに登録させて、あとはエリアに含まれなかったらextendしてやればいい。
で、最後にextendされたエリアを表示できるズームレベルをgetBoundsZoomLevelしてあげればOK。
というわけで、修正してます。
カテゴリ表示をしたときに、そのカテゴリで登録されている地図情報があったら表示できるように。
オプション登録情報に、このカテゴリマップの表示選択と、デフォルトのマップセンターを設定出来るように。
カテゴリマップの表示有効にしてあるので、表示されてる(はず)。
カテゴリで絞込みが可能に。
以下はカテゴリ「test」で絞込み表示したもの。
拡大表示しても他のポイントは表示されない。
地図表示のオプション設定を出来るようになったよ。
地図表示サイズの設定
初期表示タイプの選択(地図・写真・地図+写真)
地図コントローラーの選択表示(大・小・ズームのみ・無し)
タイプセレクタ、スケールコントロール、オーバービューコントロールのon/off
ダブルクリックズームのon/off