カテゴリー
WordPress

Fuzzy Recent Updates

動作中の Fuzzy Recent Updates
Shinsuke.com で動作中の Fuzzy Recent Updates。2008 年 6 月 16 日撮影

このプラグインも導入にてこずりました。このプラグインもまた、巡り合うまでが大変でした。

僕は WordPress の「投稿」には軽い話題を、「ページ」には専門的な話題を、それぞれかき分けることにしています。そうなると web サイトのメインのコンテンツは「ページ」に集中することになります。ところが WordPress には「ページ」の更新をトップページに告げる機能がありません。そこで、プラグインを探し始めました。

最初に見つかったのは、Fuzzy Recent Updates というプラグインです。このページのタイトルを見ていただければお分かりいただけるように、最終的に使用することになったプラグインです。ほぼ希望通りの機能を備えていたので、さっそくダウンロードしようとしました。ところが、プラグインの作者のホームページに行ってみたら、Fuzzy Recent Updates はすでに廃版になっていて、新しい Fuzzy Widgets というプラグインに吸収されていました。そういうことならと思って、Fuzzy Widgets をダウンロードしてインストールしてみたのですが…。

“Your MySQL version is lower than 4.1. It’s time to change hosts if yours doesn’t want to upgrade.”
「あなたの MySQL のバージョンは 4.1 未満です。あなたのホストサービス会社が MySQL をアップグレードしたがらないなら、替え時です。」

XREA の s289 を使用していた僕は、確かに MySQL のバージョンが 4.0 でした。このままでは動かせないので、別なプラグインを探すしかありません。ところが、丸一日探してもみつからないのです。「投稿」を制御するプラグイン はたくさんありましたが、「ページ」となると極端に減ります。自分の作りたいサイトが WordPress 向きではないのではないかと、うすうす感じ始めたのはこのあたりです。やむを得ないので、サーバーを移転することにしました。

幸い、XREA 内で MySQL 5 を動作させている別のサーバーに乗り換えることができることがわかったので、一年分の前払いが消えてしまう心配はなくなりましたが、それでも乗り換え作業はなくなりません。WordPress Codex をよく読んで作業し、ドメインの移動が完了するまでに丸 1 日かかったでしょうか。その間に新しいサーバーとシステムのバージョンが揃うように、ローカルのテスト環境も更新しました。

そんな大仕事の末にようやく動作させてみた Fuzzy Widgets だったのですが、なんとレイアウトが崩れるというバグが発生しました。理由がよくわかりませんが、ウィジェットのタイトルが ul になっている上に、「%BEG_OF_TITLE%最近の投稿%END_OF_TITLE%」と表示されてしまいました。半日がかりで原因を調べました が、結局判明しませんでした。海外にも僕と同じ症状の人がいて、どうやらキャッシュの不具合だという話でしたが、解決策は見つかっていないようでし た。もし僕に php の知識があれば、wp_list_page で出力される文字列の先頭 5 行だけを表示させるプラグインを作っているところなのですが、一から勉強しないとわかりそうにありません。Fuzzy Widgets の前身である、Fuzzy Recent Updates にはそういう問題はなかった、という書き込みがありましたが、残念ながら作者のウェブサイトから削除されている上、アップロードしてあるサイトも見つかりませんでした。

ほとんどあきらめかけたとき、Wayback Machine を思い出しました。Internet Archive だったら、旧版の Fuzzy Recent Updates が残っているのではないかと。案の定、これでうまくいきました。ダウンロードできたページはこちら(2007 年 7 月 11 日の http://www.semiologic.com/software/recent-updates/ の記録ページ)です。ところが、このプラグインもまたレイアウトが崩れるバグを抱えていました。

初期状態の Fuzzy Recent Updates
初期状態の Fuzzy Recent Updates。レイアウトがおかしい。また、日別に更新されたページがまとめられるようになっていて、好みに合わない。

Fuzzy Widget と同じく、ul の構造がおかしくなっていて、ウィジェットの中身全体が字下げされてしまっています。なんとか修正したかったのですが、どうにもなおりませんでした。ところが、幸い Fuzzy Recent Updates には、
<?php the_recent_updates(); ?>
というスクリプトでプラグインを呼び出す機能がありましたので、これを使って Executable PHP Widget プラグインで作ったウィジェットにリストを表示させることにしました。レイアウトが崩れるバグは、プラグイン自身がウィジェットのタイトルを表示しようとするときに発生しているようですので、sem-recent-updates.php の 999 行目~1005 行目までをコメント・アウトして、タイトルを表示させないようにしました。代わりに、Executable PHP Widget にタイトルを表示させています。また、リストにならんだ各記事名の後ろに更新日時を表示させたかったので、1031 行目から先を次のように書き換えました:

$o .= "<li>"
	. "<a href=\"" . $post_permalink . "\">"
		. $post_title .
		"</a>
	<span class='date'>" . $post_modified .
	"</span></li>\n";

これでようやく希望通りの形になりました。本当に長かった 🙁 。

コメントを残す