Skin Select:

【WordPress】やっとXHTML準拠!

 やっとこのブログを、再びXHTMLに準拠させることが出来ました。もっとも、1.0 Transitionalですが(ぼそ)。
 とは言っても、WordPressのヴァージョンが2.2になってから標準機能に取り込まれた「Widget」が従来の「Sidebar Widget」と微妙に異なる動きをするなど、従来どおりにWidgetの機能を扱えない部分が出てきてしまったため、XHTML準拠のために涙ぐましい努力が必要だったわけであります(ぉぃ)。
 まず、従来のWidgetプラグインの時から「テキストウィジェット」を多用してこられ、且つその中にクエリ・パラメータを大量に含むURIを書くことの多い人であれば、WordPress 2.2に移行したあと、W3CのValidatorで報告されるエラーが急増しているはずです。
 そう。これまで、テキストウィジェットの入力欄に「&」という記述をおこなえば、そのまま「&」として登録されたわけですが、WordPress 2.2のWidget機能では、「&」と記述しても登録後は勝手に「&」となってしまうのです!
 まあ、Widgetの何かしらの機能を更新するときに、都度全テキストウィジェットのすべての箇所で「&」と入れ直して登録すれば一応問題ないのですが、そんなクソ面倒くさいことを毎回やっていられません。
 というわけで、テキストウィジェットでクエリ・パラメータを含むURIを記述していたり、将来的にその可能性のある方は、「wp-includes/widgets.php」の522行目にある

$text = attribute_escape($options[$number]['text']);

の記述を、

$text = htmlspecialchars($options[$number]['text'], ENT_QUOTES);

に置き換えてしまいましょう。これで、従来どおりにテキストウィジェットを使えるはずです。
 そのほか、今回Widgetが標準機能に組み込まれたことにより、「Executable PHP widget」についても正常に動作しなくなっております。
 こちらはもっと深刻で、Widgetの数を増殖させて「PHP Code 2」や「PHP Code 3」などにPHPコードを記述しても、画面上には「PHP Code 1」の内容しか出てこなくなっております。
 残念ながら、私はこちらの原因については全くわかりません。
 なお、この問題により「Telmina」の運営にどう支障が出たのかと申しますと、「近頃のコメント」と「近頃のトラック・バック」を別のWidgetに振り分けることが出来なくなってしまったわけであります。
 一応、「Get Recent Comments」とWidgetがあれば、自分でPHPコードを書かずとも「近頃のコメント」や「近頃のトラック・バック」の機能を簡単にWidgetに取り込むことが出来るのですが、これをやってしまうとXHTMLに準拠しなくなります。どういう訳か、Widgetに付与されるIDが重複してしまうのですね。
 というわけで、自分はWordPress 2.1の時から、PHPコードをわざわざ記述して「近頃のコメント」や「近頃のトラック・バック」の機能を実現させていたわけです。
 ところが、先述の「Executable PHP widget」の問題でそれの実現も難しくなり、結局ひとつのWidgetに「近頃のコメント」と「近頃のトラック・バック」の両方のコードを記述することにより解決いたしました。
 これでやっとXHTML準拠となりましたが、どうも腑に落ちません。
 もっとスマート且つエレガントな解決法をご存じの方がいらっしゃいましたら、教えてください。
*

【WordPress】「Event Calendar」導入

 本日はやたらやらなければならないことが多いのですが、休憩がてら。
 ブログの記事に未来のイヴェントを記し、一般公開するとともに自分自身の備忘録としても使いたいと考えるようになりました。
 日本語で関連情報が掲載されているページを検索してみたところ、はじめ「WP plugin: 将来のイベントを表示 - EventCalendar」というページに遭遇いたしました。

関連記事
WP plugin: 将来のイベントを表示 - EventCalendar @ power source*

 この記事では、「EventCalendar 3.0.4」というプラグインについて紹介されています。
 しかし、WordPressのコアなファイルはあんまりいじりたくありません[註1]。なぜなら、WordPressのヴァージョン・アップがクソ面倒くさくなってしまうためです。
 こないだみたいに必要な記述を忘れてしまい、足し算が強制的に不正解になったり表示がいかれたりしたらたまったものではありませんからねぇ。
 と言うわけで、一旦「EventCalendar」は却下して、ほかの同様なブツはないものかのぅと思いいろいろ探してみましたが、どうも見つからず。
 そして調べてゆくウチに、「Event Calendar 3.1.1._rc1」に遭遇してしまいました。

プラグイン配布元
v3.1.1 Release Candidate 1 @ Event Calendar

 どうも、両者の説明を読み比べてみた感じでは、「power source*」さんのところで紹介されていたヴァージョンとは挙動が大幅に異なるようです。
 3.0.4では、投稿日時を未来にすることにより、あらかじめ設定したイヴェント専用のカテゴリをイヴェントリストとして取り扱うことになっているように読めますが、3.1.1では、投稿日とは別に「Event Editor」欄が記事投稿ページ内に作成され、そこでイヴェントのスケジュールを設定するしくみになっております。つまり、投稿日はリアルに投稿した日でいいようです。逆に未来日付で投稿をしたら何も表示されませんでした・・・。
 インストールについては、まずは他の多くのWordPressプラグインと同様、ダウンロードしたZIPファイルを展開し、生成されたフォルダを丸ごと「wp-content/plugins/」フォルダに放り込み、管理画面でプラグインを有効化します。
 その後、イヴェント表示に対応したカレンダーを追加するわけですが、3とおりの手段があるようです。

「WordPress Widgets」プラグインのユーザの場合
「Event Calendar」プラグインとともに、「Event Calendar Widget」も有効化する。あとはWidgetの画面から「Event Calendar」をサイドバーに組み込めばよい。ちなみに私が執った手段もこれ。
「K2」テーマのユーザの場合
既にテンプレート側で利用可能になっているらしい。
上記以外
「readme.txt」に記載されているHTMLコードを、サイドバーに手動で組み込む。

 問題はその先の設定でして、意外にに面倒です。
 まず、管理画面の「管理」→「カテゴリー」で、イヴェント・リスト専用のカテゴリを新規に作成します。
 その後、管理画面の「オプション」→「EventCalendar」を開き、「Event category:」プルダウンメニューで、作成したばかりのイヴェント・リスト専用カテゴリを選択します。
 あとはお好みでどうぞ、と言うより私もよくわかっていません。どなたか日本語化してください(ぉぃ)。
 とりあえずはこれで、WordPressのコアなモジュールをいじることなく、イヴェント記事を投稿できるようになるはずです(てゆうか俺はなった)。
 投稿の際、せっかく作成したイヴェント・リスト専用カテゴリが何故か選択できませんが、投稿画面内の「Event Editor」欄でイヴェント設定をおこなうことによりカテゴリが有効化しますので、ご心配なく。
 ちなみにこのブログにおける投稿記事の例はこんな感じ。

【Event】【音楽】リチャード・クレイダーマン @ 大宮ソニックシティ 大ホール

 本文の左上あたりにイヴェント日時欄がおかれるほかは、至って普通の記事です。
 この記事でイヴェントを設定した2007年5月のアーカイヴで、このイヴェント記事が掲載され、カレンダーから記事へのリンクも設定されていることを、ご確認ください。
 恐らくこれで、私はなけなしの6,500円を支払ってチケットを入手したこの大事なイヴェントを、当日失念することはないでしょう(ぉぃ)。

(2007/03/08 0:50追記)
 昨日、ピンバックを1件頂戴いたしました。ありがとうございます。

EventCalendar 将来のスケジュールを表示 @ samurai-woman.com

 この説明でおわかりいただけましたでしょうか?
 今回は、大好きなピアニストの演奏会の予定をつけてみたのですが、今後、たとえば旅行計画を立てるような場合などにも、有効に使えそうです。
 自分は通常のブログ記事と混ぜて使ってゆきますが、ブログそのものをToDo Listのようにして使ってゆくのもおもしろいかもしれませんね。
先方では、「wp-includes/classes.php」の改造について紹介されている [back]

【WordPress】「Dropdown Archives Widget」導入

 「WordPress Widgets」(というか「Sidebar Widgets」)を導入したということは先ほど申し上げたとおりですが、追加ウィジェットを一つ導入してみました。

ウィジェット配布元
WordPress Plugin Database

 本当はプラグイン公式ページもあるのですが、何故かそこからのダウンロード用リンクが見つからなかったもので・・・。
 これは読んで字のごとく、アーカイヴをドロップダウンリストで呼び出すためのものです。当然、要JavaScriptとなります。
 ただ、呼び出せる内容が年月ごとのものに限らず、カテゴリや、「Ultimate Tag Warrior」のタグごとのアーカイヴも取得できるという優れものです。
 普通にアーカイヴの一覧を表示させようとすると、ブログ歴が長くなるとリストも大きくなってしまい、画面に圧迫感が生じるわけですが、プルダウンリスト形式になれば見た目はすっきりしますよね?
 「WordPress Widgets」をお使いの方、是非ともお試しください。

【WordPress 2.1】「Telmina」が現時点で抱えている問題点(2007/02/12) +α

 無事にというわけには参りませんでしたが、何とか「Telmina」一般公開2日目も終えられそうです。
 昨日に引き続き、当ブログで判明している問題点を述べて参りましょう。
解決した問題点

【Lightweight Google Maps】地図表示ページで地図が出ない
こいつはK2テーマの仕業でした。yuriko様、ご指摘ありがとうございます。
おかげで今日1日テーマの取り替えで潰れちゃったし。ぶつぶつ。
【Search Word Highlight for Mutibyte】投稿記事個別の画面で「Fatal Error」発生
単にヴァージョンが古いせいでした(爆)。ヴァージョン1.02を適用することにより解決しました。

既存の問題点

【全体】日本語化が中途半端(笑)
いざとなったらテーマファイルに直接日本語を書いてしのぎます。てゆうか既に一部やっています。
【全体】パーミッションの問題
こんなの、ヒット・アンド・トライで解決するしかねぇよな。
【Clickable-Smile】記事投稿画面で、初回編集時にスマイリーが出現しない
たぶんこれはWordPress 2.1コアの問題だろう。俺の手に負える代物ではない。
【Mobile Eye+】携帯電話からの閲覧そのものに支障が
とりあえずトップページを従来の新着記事一覧にするようにしたが、個人的には固定ページのほうがいいなぁ。というわけで、解決扱いにはしていない。
【podPress】RSS出力が文法違反になる
すみません。本日は全く触っていないので進展なしです。

新たに判明した問題点

【トップページ】新着記事表示にすると「タグライン」に設定した文字列までブラウザのタイトル部に出力されてしまう
何故わざわざそういう仕様になったのかさっぱり理解できない。仕方ないので、とりあえず「タグライン」(「description」と言ってくれたほうが俺的にはわかりやすい)の文字列を全部消したが、それでもブラウザのタイトル部には、ブログ名の後ろに「»」が付加された状態で出力される。納得いかん。
いっそのこと、トップページを固定ページにして、その固定ページの名称を「home」か「index」にでもする?
【ブログロール】登録されている情報の中からランダムに(たとえば)5件だけサイドバーに出力するという芸当をできなくなった
ME 2.0.7のときはできていたのに。件数を絞ったランダムリンクを出力できないと個人的にはものすごく困る。プラグイン作れと言うのか?
【IE】Internet Explorerで閲覧するとページナヴィゲータの表示がおかしい
IEがブロガーに嫌われる理由がよくわかったよ。これは俺の手には負えないのでパス。

 なお、今回、サイドバーに下記プラグインを使用させていただきました。ありがとうございます。

WordPress Widgets @ Automattic
Executable PHP widget @ Fun with Widgets @ Nothing to see here

 前者はごく普通のサイドバーにカスタマイズの自由度を付加するプラグインとその仲間たち。そして後者は、前者に含まれる「Sidebar Widgets」の追加機能で、サイドバーにPHPコードを埋め込めるようにするためのウィジェットです。

89981 pages viewed, 967 today
30895 visits, 155 today
FireStats icon Powered by FireStats
このページの先頭へ