13
04
2008

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()する)
Comments : No Comments »
Categories : WordPress, WordPress MU
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は見てません)
Comments : No Comments »
Categories : WordPress, WordPress MU
最近のコメント