MTOnThisDayを勝手に改造した

この頃、「ところで2年前は......」というような、過去の記事をほじくり返すことにしている。これ、自分のためにやっているわけなのだけれども、実に面倒くさい。意外に時間がかかるので、やめちゃおうかとも思っている。

そんなの自動的になんとかなるはずなのでグーグってみると、あることは、ある。MTOnThisDayというプラグイン

これが簡単なのはいいのだけれども、記事の「作成日」を参照しちゃうのだ。フツーに考えると全然モンダイ無いんだけれども、実はブログをメモ代わりに使っていたりして、そのメモをふくらまして記事を書いたりすることが多いのです。だから、作成日は公開日よりもだいぶ昔だったりすることがある。

なので、このプラグインが「作成日」を参照するのではなくて「公開日」を参照しててくれたらよかったのになー......と思う、今日この頃なわけでした。

このプラグインは、だいぶ古い2002年のプラグインなのにいまだに動くっつーのもすごいけど、ということはそんなに複雑なことをしていない、ということだろう。MT3シリーズからMT4になって、データベースのテーブルがかなり増えたんだそうです。もしかして以前のMTには作成日と公開日と編集日、というそれぞれ独立したフィールドが無かったのかもしれない。あり得る。

entryテーブル

というわけで、その気もないのに、慣れないphpMyAdminから「mt_entry」というテーブルをひっくり返してみる。すると、「entry_created_on」と、「entry_modified_on」という日付フィールドを発見。これ、参照できそう。でも、作成日と編集日を記憶するだけに思えるのだ。これでは。

他に日付を憶えとくフィールドは無いのかとよく目をこらしてみると、もひとつ「entry_authored_on」という日付フィールドを発見。こうなると、英語のセンスで推測するしかないわけか......。

  • create ── 作成
  • author ── 作成
  • modify ── 編集

だよねぇ? createもauthorも、作成なんぢゃん。しかも辞書ってみると、authorの方がcreateよりも、より創始っぽい気がするんだけど?

それでは、プラグインのソースを見ると、どーなってんだ?

というわけで、onthisday.plを開いてみる。拡張子が「.pl」なのでperlです......っていう程度の知識でナニがわかるってんだ!! でも、わかるかもしれない。取り敢えず、ソースを「created_on」で検索する。

7個の項目が、現在のドキュメント内に見つかりました

ををぉっ!! これ、行けちゃうんぢゃね? 構わず全部「authored_on」に変換しちゃいましょう。気が変わらないうちに、保存して、アップロードぉっ→→

おっと、これだけではダメなんだ。本体のテンプレートにも書き加えましょう。本家では、日付アーカイブを吐き出しておいてそれにリンクするようにしているようです。でも、今更日付アーカイブなんて吐かせたくない。もちろん、月アーカイブにリンクしてもいいんだけれども、そんなの意味ない。やぱし「○年前の今日、こんなこと書いてた」っていうところにダイレクトにリンクするからおもしろいんぢゃないか?

なので、取り敢えず、こうしてみたよ。

<MTOnThisDay>
<div class="lastyear">
ところで、過去にはこんなことを書いていました。
<ul>
<MTEntries>
<li><$MTEntryDate format="%Y.%m.%d"$> <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
</div>
</MTOnThisDay>

やろうと思えば、例えば <$MTEntryExcerpt$>とかを差し込んで概要を表示することだってできるし、<MTDateHeader>に挟んで同じ日付を繰り返し表示しないということもできるでしょう。好みのモンダイでしょう。すごい。カンでMTプラグインを改造しました。どつぼにはまらなきゃいいのですが。

んー、なんだか日付フォーマットの%Yと%y(西暦下2桁と西暦4桁)が、どっちがどうなのかわからん。マニュアル見てもどっちもどっちだし。

藤本壱さんもこの件について取り扱っておられました

【追記】2008.03.04

ソースを見て「はてなー?」って思っていましたが、現物を見て納得しました。これは「過去記事」だけに対するリンクだけでなく、再構築をすると同日付の未来記事にもリンクされます。ただし、再構築をしたときだけです。

世の中、だんだんと複雑になってゆく雲行きです。↓この下は記事ではなくて、プラグインで自動的に吐き出しているリストです(あれば)。

↑次の記事:[表示偽装とか賑々しい昨今です]を見る
↓前の記事:[何のナニだ?]を見る
ところで、異年同日付でこんなエントリーもあります。

コメントしてください

※いろいろ気にする方は、コメントポリシーをご一読ください。
↑次の記事:[表示偽装とか賑々しい昨今です]を見る
↓前の記事:[何のナニだ?]を見る
PhotoPierre 360Photo 炭坑節.jp copyright © Photo Pierre. All rights reserved.
許可無く写真や文章の一部または全部を放送したりすることはお断りします。