2008年7月04日の投稿

2008-07-04
晴れ

WordPress 2.6 対応つづき

ゆりこ による 00:26:02 の投稿
カテゴリー: WordPressハック
タグ: , ,

拙作プラグインの WordPress 2.6 対応をすすめていますが、他にも考慮しなければならない新機能がありました。それは WP_CONTENT_DIR, WP_PLUGIN_DIR 定数の設定です。Codex にある WordPress 2.6 の新機能では特に説明がありませんが、これらはおそらく「wp-content/ ディレクトリーや plugins ディレクトリーをデフォルト以外に設定するための仕掛け」だと思われます。

Ktai Style, Ktai Entry では、プラグインの持つリソース (言語リソースや携帯テーマなど) のアクセスのため、PLUGINDIR 定数をもとにパスを変数に保存しています。このため、WordPress 2.6 対応させるためには、WP_PLUGIN_DIR 定数を基準にしなければなりません。他の置き場所に変更した場合に不具合が出ないようにするためにも、対応は必須ですね。

Ktai Style 1.41, Ktai Entry 0.86 はほぼリリースできる状態になっていたのですが、これらの対応をするために、もうちょっと手直しが必要なようです。

[追記] 「What Plugin Coders Must Know About WordPress 2.6」のコメント欄で指摘されていますが、プラグインディレクトリーを移設する機能を使うと、wp-config.php を include するスクリプトが正常動作しなくなりそうです。wp-load.php への相対パスが一意に決まらないため、「WordPress 2.6 対応」で書いたように dirname(dirname(dirname(dirname(__FILE__)))); で WordPress ルートに辿り付くとは限らないためです。うーん。これは困りました。事実上、「プラグインディレクトリーを移設する機能は使いものにならない」ということですよね。

チケット #6938 にコメントしました。Ryan さんからは wp-content/wp-load.php を提案されたものの、それに対する反対意見も出ていて、対応策はどうなるやら。とりあえず、WP_PLUGIN_DIR 定数の設定機能は使用禁止という制限をつけざるを得ないようです。