WordPress MU 1.5 RC1

19 04 2008


Creative Commons License photo credit: ILMV

WordPress MU Plugin」 の方で「MUの1.5 RC1が出たからPlugin作成者はテストしよーぜ」というアナウンスが流れています

WordPress MU 1.5は、1.3.3にWordPress 2.5の機能をマージしたバージョンです。
ボクも早めに時間をつくって、Left Handle BLOGSの1.5化をやりたいと思います。




GUIDはpermalinkぢゃない

13 04 2008


Creative Commons License photo credit: ocean.flynn

データベース上でいうと・・・wp_postsテーブルのguidフィールドの話です。
GUIDとしてpermalinkが入っている思うのは、ちょっとした勘違い・・・そうボクもさっきまで勘違いしていたんですがw

多分、正解は・・・

投稿作成時のpermalink構造で作られたpermalinkが入っている。
後にpermalink構造を変更しても・・・または、ホスト名を変更しても、既存投稿のGUIDは置き換えてくれない。

ということだと思います。
まあ、GUIDの本来の意味を考えると、必ず「正しい」permalinkが入っているなんて思うのは間違っているに決まっていますね。

ちなみに、permalinkが欲しければwp-include/link-template.phpのget_permalink()を使うのが正解です。
(WordPress MUの管理機能などを作りこんでいる場合にpermalinkが欲しければ、get_permalink()の前にswitch_to_blog()して、取得してから、restore_current_blog()する)




WordPress MUのkses.phpの問題

13 04 2008

WordPress MUには(WordPressも)、wp-include/kses.phpっていうHTMLフィルター機能が搭載されています。

例えばimgタグやaタグに指定されるURLの正当性をチェックしてくれたりする機能です。

MUで記事を書いていて、aタグのtitle属性に「ブログ」と日本語で書くと、「ロ」の字が文字化けしてしまうという問題にぶち当たりました。
コードを追っかけていくとksesフィルターが化かしていることがわかりました。

このままでは、Left Handle BLOGS全体の問題として残ってしまうので、修正を試みたわけですが・・・

WordPress日本語版作成チームのGoogle Groupsに問題が指摘されていました。
さらに、チームの方がWordPress本家にもレポートしてくれていて、おまけにpatchも作ってくれています(要は、hrefやsrcのデータはフィルタするけど、altやtitle属性はフィルタしないという修正)。

早速、そのパッチをkses.phpに当てて、いろいろ試してみたところなかなかいい具合です。
大きいコミュニティのメリットを感じました。

Left Handle BLOGSにも早速採用です。

ちなみに、WordPress 2.3.3のkses.phpはMUとバージョンが違う為か、「ロ」問題はなかったです。
ただ、「ロ」だけが問題じゃなくて他の文字(エンコード)でも起こり得る話なので、対応したほうがいいと思います。
(WordPress 2.5のkses.phpは見てません)




wordpress.comのテーマ

12 04 2008


Creative Commons License photo credit: naokomc

WordPress MUの調査は続いています。

MUでユーザーに使ってもらう為のテーマを選ぶ為にいろいろ調べていると、以下のsubversion repositoryのパスが見つかりました。

http://svn.automattic.com/wpcom-themes/

wordpress.comで選べるテーマが全部ここに入ってるんです。
「これは、いいぞ」ってことで、早速checkoutして自分のテスト環境にインストールしてみました。

Read the rest of this entry »




WordPress MUのget_blog_listのナゾ

12 04 2008

WordPress MUのwp-includes/wpmu-functions.phpに、get_blog_list()という関数があります。

名前からすると「存在するブログの一覧を取得する」機能と判断できますね。
もちろん、ボクもそう思いました。

しかし、コードをみるとblogsテーブルからselectするSQL文の条件に「public=’1′」 というのが含まれています。

この「public」というフィールドは、通常のWordPressでもおなじみの管理画面における「プライバシー」の状態を指しています。

「プライバシー」は、 「このブログを、検索エンジン (Google、Sphere、Technorati など) とアーカイブサイトを含め、誰でも閲覧できるようにする」かどうかのフラグで、具体的にはheadタグ内にmetaタグのnofollow, noindexを記述するかどうかというモノです。

となると、get_blog_list()内で「public=’1′」でフィルタするってのはなんなんでしょうか?

ソースコードをgrepすると、get_blog_list()は同じwpmu-functions.phpにあるget_most_active_blogs()という関数からのみ呼ばれています。
(get_most_active_blogs()はどこからも呼ばれていない)

う~ん、ナゾは深まるばかりです。

一つだけいえるのは、blogの一覧が欲しければ自分でfetchするしかないってことです。
WordPress MUの「サイト管理 - ブログ」画面のblog一覧も、get_blog_list()は使ってないのですから。

P.S.
この前、Plugin ManagerというMU用のプラグインについて書きました。
Plugin Commanderという別のものも見てみたのですが、どちらも少し「足りない」ので、自分で書くことにしました。
完成したらここで公開しまっす。




WordPress MUのユーザーに関するまとめ

12 04 2008

MUをいじっていたら、どうも「ユーザー」にはどんな状態があって、なにが許されているのかについて混乱してしまったので、まとめてみました。
(概念上の話です。データベース上、どういう状態がありうるかはまた別の機会に)

Read the rest of this entry »




WordpressとMUのデータベースの違い

12 04 2008


Creative Commons License photo credit: Alex and Rob

仕事関係で「ネタ蔵のネタ」でもお世話になっているWordpressの中身を研究しています。

今日はWordpressとそのマルチユーザー版Wordpress MUのデータベースの構造をチェック。
インストールして少し使ってみてから、mysqldumpで両方のデータベースをdumpして比べてみました。

Read the rest of this entry »







EURO FOOTBALL JUNCTION | 京都情報ジャンクション | Geoタグつけまっしょい