WordPress 2.5タグの投稿

2009-02-18
晴れ

Ktai Style 1.70 は WP 2.5 以降サポート

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

近日リリース予定の Ktai Style 1.70 (バージョン番号は 1.61 をやめて 1.70 になりそう) ですが、サポート対象の WordPress を 2.5 以降とすることにしました。1.60 では、管理機能が WordPress 2.5 以降のみ対応としましたが、1.70 では閲覧機能も 2.5 以降サポートとします。WordPress 2.3.3 以前では、旧安定版である 1.4x 系統をご利用頂きますようお願いします。

なお、1.4x 系統は、逆に、動作対象を 2.3.3 までと短縮します。現状では WordPress 2.5 〜 2.6.5 でも問題なく動作しますが、テストが大変なので、サポート対象から外して、継続した提供をしやすくします。

1.70 の開発版で出た不具合修正を 1.48 にバックポートして動作確認しているとき、閲覧機能については Ktai Style 1.70, 1.48 の両方とも WP 2.0以降での確認が必要と考えて作業していましたが、さすがに煩雑に感じました。1.4x 系統を残すのは、WordPress 2.2, 2.3 で管理機能を使いたい人のためですが、それならば、WordPress 2.2, 2.3 では 1.70 以降をサポートする必然性が少なくなります (管理機能はいらないかわりに新テーマを使いたい人だけのバージョン)。新テーマを使いたい場合は、WordPress 自体を 2.5 以降にアップグレードして頂きますようお願いします。

これにより、古いバージョンをサポートするためのコードを多少削れるため、現在その調整作業をしています。その他、WP Super Cache での設定を簡便にできる機能を 1.70 系に追加するなど、RC1 からの変更も多少あります。乞御期待!!

[追記] バージョン番号は、1.61 ではなく 1.70 にすることにしました。1.61 は、当初1.60 のバグフィックスとして開発しましたが、新テーマを追加すること/サポートする WP バージョンが変更されることから、バージョン番号の変化を大きくした方が分かりやすいだろうと判断したためです。

Ktai Style 1.70 を正式リリースしました。

2008-04-28
晴れ

Ktai Style の管理機能は WordPress 2.5.1 非互換→修正ずみ

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

昨日リリースされた 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 をリリースしました。

2008-04-05
晴れ

Ktai Style は WordPress 2.5 で投稿一覧出ない

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

WordPress 2.5 RC2 で動作確認したはずの Ktai Style ですが、2.5 正式版で見ると、管理パネルの「投稿管理」で投稿一覧が出ず、「何も見つかりませんでした」となってしまうことが判明しました。(何で今ごろ気付くのか……)

修正方法はすぐに分かり、WordPress 2.3.x でも問題ないことは確認できました。あとは WordPress 2.2 でチェックですね。

これは重大なバグなので、早く Ktai Style 1.3.0 を出さないと!!

[追記 2008-04-07] 別のテスト環境では、2.5 正式版でも投稿一覧が出ました……。出る条件/出ない条件がよく分かりません。上記の「修正方法」は少しアドホックな方法なので、できれば採用したくないんですよね。

2008-03-31
晴れ

WordPress 2.5 に移行しました

ゆりこ による 21:38:35 の投稿
カテゴリー: WordPressハック,更新履歴
タグ: , ,

長らく PHP+MySQL を利用した独自ウェブログシステムで運営していた Yuriko.Net メインサイトですが、ついに WordPress に移行いたしました。できるだけ従来の見た目になるようにしましたが、所々表示が変わっています。

Yuriko.Net は、1997年のサイトオープン以来、しばらく手書き HTML で作成していました。2000年1月からは、「はいぱー日記システム」を使いましたが、9月ごろに書くのをやめてしまいました。それ以来、2004年8月まで、まったく更新せず放置状態でした。

2004年8月に、手書き HTML ながら見た目をウェブログ風にして運営再開しました。月別アーカイブを1つの HTML として手書きし、フロントページや各記事などを perl スクリプトで静的生成させるシステムを自作しました。

しかし、静的生成システムではコメント・トラックバック機能がないため、PHP+MySQL による独自ウェブログシステムを構築して2006年8月から運用開始しました。当然ながら、WordPress, P-BLOG, Nucleus などのシステムも検討しましたが、「http://www.yuriko.net/arc/2008/03/31a」のようなパーマリンク体系を構築できなかったため、すべて見送って、自作システムとしたものです。自作システムを作るのは、それなりに楽しかったのですが、携帯対応がなかなかできませんでした (perl での静的生成時代は、携帯ページも同時に生成していたのでサービスダウン)。

その反面、WordPress 携帯対応プラグイン Ktai Style がすばらしい仕上りになったため、これを Yuriko.Net で使いたくなりました。また、WordPress の内部構造にも詳しくなったため、「ひょっとすると、ウチのパーマリンク体系を WordPress で使えるんではないか」と考えました。密かに研究した結果、どうにか実現する方法を開発しまして、ついに実現の運びとなったものです。折りしも WordPress 2.5 がリリースされ、表示速度も従来の Yuriko.Net と遜色なくなったこともうれしいことです。

この記事は便宜上従来の URL 体系にしますが、あす 4月1日からは、「http://www.yuriko.net/arc/2008/04/01/SLUG/」のような一般的なパーマリンクにする予定です。今後ともよろしくお願いします。なお、WordPress ネタを扱うウェブログが、WordPress *ではない* システムで動いているのは一興だったのですが、それが解消されてしまうのは、少し残念です!?

[追記 2008-04-02] 個別記事 (シングルポスト) において、カレンダーが投稿日のものではなく、閲覧している日のものになるという不具合があります (この記事も該当)。get_calender() では、どの日のカレンダーを出すかをグローバル変数 $m, $monthnum, $year で制御しますが、これらが正しくセットされていないようです。早めに直したいと思います。

[追記 2008-04-03] なんとか修正しました。WordPress の仕様で、記事番号でクエリーした場合は、$m, $monthnum, $year がセットされないのでした (なので、http://example.jp/?p=1234 のようなパーマリンクの場合、カレンダーは記事のある年月ではなく、閲覧日のものになる)。そこで、むりやり、年月を入れたクエリーを発行させることにしました (query_posts("p=$id&year=$year&monthnum=$monthnum");)。早い目に、この「パーマリンクをごっそり変えてしまうプラグイン」を公開したいと思います。

2008-03-29
晴れ

WordPress 2.5 はタイトルを入力して初めて投稿スラッグが編集可能

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

WordPress 2.5 ベータ版を使った人の間で「投稿スラッグを入力する欄がない」ことが話題になっているようです。挙句の果てには、JavaScript を駆使して「投稿スラッグ入力欄を無理矢理出す改造」を書いている人もいます。

WP25のパーマリンク欄画像

実は、WordPress 2.5 では、パーマリンク構造に %postname% を含む場合のみ、タイトルに文字が入力されて初めて、タイトル欄の直下にパーマリンク編集欄が出る仕組みになりました。このインターフェースだと、投稿スラッグはタイトルと関連のあるものにすることが明確になるわけで、変な投稿スラッグを作りにくくなっているでしょう。また、他のパーマリンク構造では、投稿スラッグの内容が無視されるので、入力欄が出ないのは、妥当だと思えます。

しかし、投稿スラッグを先に決めてからタイトルを考えるのが無理なこと、投稿スラッグ欄の存在が見えなくて不安になることは問題です。前述した改造は、「WordPress 2.5 の仕様をきちんと理解していない」点で非常にマヌケなのですが、インターフェースの「改悪」への抵抗だと考えると、それはそれで意義があるのかも。

[追記] パーマリンク欄の画像を追加しました。こんな感じで出るんです。

2008-03-21
くもり

WordPress 2.5のプラグイン自動アップデートへの対応をどうするか

ゆりこ による 11:56:47 の投稿
カテゴリー: WordPressハック
タグ: , ,

拙作プラグインのうち、Ktai Style, Lightweight Google Maps は WordPress 2.5 での動作を確認ずみですが、他のものはまだです。実は、JSeries Notifier は、動作するものの、更新通知表示が英語のままであるという問題があります。WordPress 本体のローカライズ文字列が変更になったためです。対応するには、WordPress のバージョンを判別して、それぞれに合わせた文字列を使えば OK です。

しかし、実際にはそれでは十分ではありません。なぜなら、WordPress 2.5 の更新通知には「自動アップデートする」というリンクが含まれるからです。ところが、JSeries のプラグインがすべて自動アップデートに対応しているかというと、必ずしもそうではありません。残念なことに、Ktai Style はそのファイル構成上、対応していません。

WordPress 2.5 の自動アップデートは、一時フォルダにプラグインの展開を試みて、成功すれば稼働中のものと入れ替える仕組みです。ところが、Ktai Style は、プラグインの内部にユーザーの自作テーマを入れられるので、この手順でアップデートされると、その自作テーマが消えてしまいます。(JSeries ではありませんが) Mobile Eye+ も、設定ファイルをプラグインフォルダーの内部に生成するので、自動アップデートすると設定ファイルがなくなります。

自動アップデートに対応するには、ユーザーの自作テーマを wp-content/plugins/ktai_style/themes/ ディレクトリーの外に保存させるしかありません。wp-content/ktai-themes/ ないしは wp-content/themes/ktai/ というディレクトリーを作ってもらって、そこに保存するとかの手を検討してみますが、分かりやすさが落ちますよね……。

プラグインの自動アップデートが、既存のものに上書きする仕組みならば自作テーマは消えませんが、上書きだと、余分なファイルが残ったり、展開に失敗したときの復旧が困難という問題があるので、そういう仕組みに変わる可能性は低いでしょう。

余談ですが、Yuriko.Net を収容しているサーバーは FTP が使えない (SSH/SCP/SFTP のみ) ため、自動アップデートは使えません。自動アップデートが FTP のみというのは、2008年の設計ちゃうやろ〜〜と思いますが、SFTP に対応するとなると大変そうです。対応してほしけりゃ自分でパッチを書いて送るしか ;-)

[追記] そもそも、Ktai Style をはじめ、わたしがリリースしたプラグインはすべて tar.gz もしくは tar.bz2 型式なので、自動アップグレードに対応していません。アーカイブの展開は unzip_file() しか行なってないので、zip 型式以外はそこでエラーになりそうです。でも、zip 型式は好みじゃないし、Mac OS X からクリーンな型式で吐き出すのは面倒なんですよね (普通に操作すると __MACOSX__ というフォルダーができてしまう)。

2008-03-08
晴れ

WordPress 2.5 対応はけっこう大変

ゆりこ による 01:40:16 の投稿
カテゴリー: WordPressハック
タグ: ,

Ktai Style の WordPress 2.5 対応を行なっていますが、けっこう変更すべき箇所が多くて大変です。開発中の日本語リソースも入れてみると、ところどころ英語の部分が残ります。これは、Ktai Style が WordPress コアのローカライズ文字列を使っているものの、WordPress 2.3 以前と 2.5 で違ってしまったことを意味します。2.5 の ja.mo でそのローカライズ文字列が存在しなくなると、英語のまま残ってしまうわけです。こういう場合、Ktai Style 側でローカライズ文字列を定義してしまうか、WordPress のバージョンを判定して使用する文字列を差し替えるかの対処が必要です。

新規投稿については、2種類のテスト環境で、できる/できないが違っているのですが、できない環境が Windows 環境ということで、後回しになりそうです。PC 向け管理パネルでは投稿できるので Ktai Style の管理機能に不備があると思われるのですが、Mac OS X 環境 (==UNIX 環境) では OK なのが不可思議です。PHP のバージョンや MySQL のバージョンも微妙に違うため、それが原因かもしれず、難航しています。

もっと困っているのは、PC での管理パネルのデザイン変更です。そのままでは、標準の設定画面と Ktai Style の設定画面のデザインが違いすぎます。class 名が変更されているので、WordPress 2.5 用の class 名を振ってやれば、見た目を揃えられると思っていますが、調整が必要です。

そうこうしていると、もはや「1.11 からのバグフィックス」を越えた違いになってしまうため、WordPress 2.5 対応版は「1.20」としようかと思っています。といっても、絵文字入力対応版を「1.30」とするとバージョン番号がインフレしすぎます。絵文字入力版の完成まで WordPress 2.5 対応を待たせるのもよくないので、とりあえず、WordPress 2.5 対応版を「1.20 ベータ」(いちおう絵文字入力は可能) として、絵文字対応版を「1.20 正式版」としようかと思っています。

そのためには、Jseries Notifier が「-beta」というサフィックスを認識するような修正が必要になってきます。ということで、2,3日中に Jseries Notifier のバージョンアップを行う予定です。

[追記] えいやっ、で他社絵文字変換テーブルを完成させました!! ということで、テストさえ完了すれば、絵文字対応 & WordPress 2.5 対応としてバージョン 1.20 を出せそうです。1週間くらいかけてテストしたいですが、それまでに WordPress 2.5 が出てしまったら、その時点で「1.20ベータ」としてリリースいたします。

2008-03-05
晴れ

Ktai Style 1.11 は管理機能が WordPress 2.5 未対応

ゆりこ による 17:47:48 の投稿
カテゴリー: WordPressハック
タグ: , ,

3月前半にはリリースされるという噂の WordPress 2.5 ですが、遅ればせながらナイトリービルドを入手して Ktai Style の動作確認をしてみました。閲覧部分は特に問題なさそうですが、大きくデザインが変更された管理パネルについては、動かない部分がいくつかありました。

  • 新規投稿ができない (投稿の編集はできる)←別のテスト環境ならばOK
  • コメント一覧が出ない。
  • PC 向けログイン画面に携帯電話でアクセスしても携帯ログイン画面にリダイレクトされない (wp-admin/ 配下へのアクセスならリダイレクトされる)

Ktai Style の管理機能は、データベースを直接いじる部分はほとんどなく、wp-admin/ 配下の API を使っていますが、その API が少し変化しているようです。わずかな手直しで修正できそうなので、WordPress 2.5 対応をしたバージョン 1.12 を週開けぐらいには出すことにします(追記) 絵文字対応も盛り込んだ 1.20 を WordPress 2.5 リリース前後に出せそうです。ついでに、以下の改善を行う予定です。

  • 各社 3G 端末、WILLCOM、スマートフォン等で出る「画像を表示する/リンクに変換」のメニューを、表示中ページに画像がない場合は隠す。
  • 携帯電話用のページ分割で、ol 要素の途中で分割された場合、ol 要素の start 属性を用いて、項目番号を前ページから継続させるようにする (前ページが8番目の途中で分割された場合、現在ページは 8 という項目数字から始まる)
  • 外部リンクへの中継ページで、クエリ文字列 (? や & など) を含む URL が途中で切れてしまう問題を修正しました。また、i-mode, EZweb の場合、URL のコピーをしやすいようにテキストフィールドを付けました (ソフトバンクはテキスト中の URL を直接コピーしてください)。
  • 附属テーマにおいて、絵文字の代替文字列が抜けていた (<img localsrc=”XXXX” /> となっていた) 部分を修正
  • 標準のパーマリンクを使用している場合、SoftBank PDC 等の古い端末において、コメント閲覧・コメント投稿などのリンクがうまく動かない問題を改善しました。
  • W-ZERO3 シリーズ、EM・ONE、htc Z 等の Windows Mobile スマートフォンにおいて、ks_term_name() が適切な機種名ではなく「Windows CE;」という文字列を返していた問題を修正 (バージョン 1.10, 1.11 のみのバグ)
  • テンプレートタグ ks_ordered_list(), ks_comments_link(), ks_comments_post_link(), ks_back_to_post() は、絵文字 (数字、四角、矢印等) の直後からリンクを張るようにした (絵文字自体はリンクされません)
  • 全テーマの page.php で余分な div 要素が出ないよう調整
  • redportal テーマで、コメント停止中の投稿において、コメント一覧ページの hr 要素がダブってしまう問題を修正
  • WordPress 確認ウィンドウ (コメントエラーや外部サイト接続確認などの表示) で XHTML 文法違反になることがあった問題を修正しました。
  • 次の独自フィルターフックフィルターフックを追加しました: redir
  • 次のテンプレートタグを追加: ks_is_menu(), ks_applied_appl_xhtml()

コメントや投稿本文への絵文字入力機能は、他社絵文字変換テーブルが未完成なので、まだリリースできません。

[追記] 新規投稿は別のテスト環境で OK でした。ログイン画面のリダイレクトがうまくいかない問題を発見しました。さらに、次期バージョンでの改善事項も追加しています。

[追記] 3月14日、バージョン1.20をめでたくリリースいたしました。結局、WordPress 2.5 の正式リリースを待たずして、WP .25 対応と携帯絵文字入力をサポートすることとしました。

2008-01-04
晴れ

WordPress 2.4はスキップ

ゆりこ による 2008-01-05 00:00:20 の投稿
カテゴリー: WordPressハック
タグ:

Weblog Tools の記事によると、WordPress 2.4 はスキップして、3月に2.5を出すことに決まりました。これは Ktai Style のリリーススケジュールに影響しますね。つまり、Ktai Style 1.0 は WordPress 2.4 対応をしなくてよく、好きなときに出せるのです。ううむ、悩みますねーーー。