昨日リリースされた WordPress 2.5.1 ですが、拙作の携帯対応プラグイン「Ktai Style」において、エラーが発生することが判明しました (ご報告ありがとうございます)。管理機能のうち、新規投稿や投稿編集機能で画面が途中で切れる/画面が何も出ない、などの現象が発生します。
早めに修正版を出したいと思いますが、代替コードの記述とテストにちょっと時間がかかるので、早くても明日夕方になると思います。それまでは、WordPress 2.5.1 のアップグレードを「セキュリティーフィックスのみ」に留める (wp-includes/pluggable.php, wp-admin/includes/media.php, wp-admin/media.php のみ更新する) か、アップグレードしてしまった場合は、修正版のリリースまでお待ちくださりますようお願いいたします。
原因は、Ktai Style が使用している WordPress コアの関数 get_nested_categories() が 2.5.1 で突如廃止されてしまったことです。0.0.1 のバグフィックスで関数が廃止されるというのは異例ですが、実はテーマやプラグインが使ってはいけない内部専用 API だったのかもしれません……。
WordPress のコードは、public/private の書き分けがいまいちで、テーマやプラグインからは、どの API が使用可能なのか、いまいち分かりにくいんですよね……。個人的には、さっさと PHP 5 専用としてもらって、private, protected, public などの修飾子を使ってもらいたいところです。WordPress 2.5 にするタイミングで PHP5 専用にしてもよかったと思いますね〰。
[追記] ちょっと強引かと思いつつ、チケット#6856 を切ってみました。trac はこういう使い方をしてもいいんですよね??
[追記 2008-04-28] 修正版である Ktai Style 1.33 をリリースしました。
Ktai Style などの配信元である SourceForge.jp (SF.JP) のサーバーで、やっと PHP がバージョン 5 になることが発表されました。これで、WordPress Plugins/JSeries のウェブサイトも、WordPress 2.0 系統から 2.3 なり 2.5 なりにアップグレードすれば、Ktai Style が入れられますね
(現状はモバイル対応まったくなし)
今年になって、なんとか PHP5 への移行が進みつつあります。Ktai Style が PHP4 対応を行う必要性はまったくないと言ってよいでしょうか。というか、「Ktai Style を使いたいために PHP5 にする」ぐらいの勢いが欲しいところです;-)
拙作の WordPress 携帯対応プラグイン「Ktai Style」は、最初から PHP5 のみ対応 (PHP4 では動かない) としていましたが、バージョン 0.92 から PHP 5.2.0 以降対応になっていたことが判明しました。原因は、parse_url 関数 の第2パラメーターを使っているからです。ウェブでのドキュメントは「バージョン5.1.2 パラメータ component が追加されました」となっていますが、Changelog によると、5.2.0 での追加です。
Added an optional parameter to parse_url() to allow retrieval of distinct URL components. (Ilia)
多少コードを調整すれば、第2パラメーターを使わずに済ませることは可能です。でも、PHP5 系統であっても、5.0.x, 5.1.x はサポート終了しているので、コードを冗長にしてまで 5.1.6 以前に対応させる必要があるかは、疑問に感じています。
とはいえ、レンタルサーバー等では、PHP のバージョンアップが遅々として進まないのも事実です。近日リリース予定の Ktai Style 0.99 では「PHP 5.2.0 以降に対応」としますが、どうしても 5.1.6 以前に対応してほしいという声があれば、バージョン 1.0.0 で対応するかもしれません。
なお、PHP4 以前の対応はかなり大変なので、勘弁してください (テスト環境がないし、コードも PHP5 以降に依存した部分がちょくちょくあるので)。