Yuriko.Net 個別記事

2008-04-15
晴れ

WordPress は日本語のページスラッグを正しく扱わない

ゆりこ による 13:20:14 の投稿
カテゴリー: WordPressハック

Ktai Style1.3でページの2番目以降が表示されません」という質問があったのですが、調査したところ、「WordPress コアは、ページスラッグを日本語にすると urldecode() した結果を URL とする (==UTF-8文字列な URL を作る) 」ことが分かりました。これは RFC1738 (日本語訳) 違反ですよね〜〜。

投稿スラッグの場合、get_permalink() において %postname% を urldecode() していません。なのに %pagename% ではデコードしているのです。はっきりいって謎な動作です。

とりあえず、チケット #6723 を切って反応を見ることにします。わざわざデコードしているのは何か理由があるはずなので、単純に urldecode() を外せばいいとは思えませんし。

いちおう、get_page_link() にはフィルターフック page_link があるので、このフックで、UTF-8 文字列な URL を検出したら、URL デコードしてない URL を返すようなプラグインを作ればいいかもしれません。それは実質的に、get_page_link(), _get_page_link(),get_page_uri() の丸ごとコピーに近いわけですが ;-)

トラックバック・コメント »

コメントはありません。

上に戻る

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

コメント投稿

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

上に戻る