エントリーの作成日時を公開日時に自動更新するプラグイン

2005年11月9日 さらに改良したMT3.2専用版をリリースしました。

2005年4月30日 改良版をアップしました。

2005年4月5日 説明を追加しました。

Movable Typeでは、エントリーの日時として表示されるのは、「エントリーを新規作成した時点の日時(作成日時)」です。「エントリーを公開した日時」ではありません。
エントリーを書いてすぐに公開すれば、作成日時と公開日時の差は数分で済むでしょう。しかし、エントリーを少しずつ書いてから公開したり、公開前に何度も推敲したりした場合、作成日時と公開日時の間にかなりのギャップがあくこともあり得ます。

そこで、エントリーを公開する時点で、エントリーの作成日時を公開日時に自動的に変更するプラグインを作成しました。

1.日付更新のタイミング

日時の更新は以下のタイミングで行われます。

1.下書きのエントリーを公開に変えて保存する時点
2,エントリーを新規作成し、下書きを経由せずに保存して、公開する時点

一度公開したエントリーを再編集して保存しなおした場合は、日付の変更は行われません。
「普段は自動更新で良いが、たまには日時を指定したいことがある」という場合は、いったんエントリーを公開した後、エントリーを再度編集し、手動で作成日時を修正して保存しなおせばOKです。

2.インストール

このプラグインのインストール方法は以下の通りです。

1.こちらをクリックしてソースを表示します。
2.1.のソースをコピーし、メモ帳等に貼り付けて、「releasedate.pl」というファイル名をつけて保存します。
3.Movable Typeの「plugins」ディレクトリにアップロードします。

3.他のプラグインとのバッティング

このプラグインは、エントリーを保存する前に処理をする「pre_save」という機能を利用しています。同じ機能を利用しているプラグインが他にもある場合、そのプラグインとバッティングして、どちらかのプラグインが動作しない場合があります。
そのときは、リストの15行目(以下)にある「0」を、「1」~「11」の任意の数に変えて、アップロードしなおしてみてください。

MT::Entry->add_callback("pre_save", 0, $plugin, \&releasedate);

4.エントリーの確認画面で保存する際の問題

現在のMTには、エントリーを再編集して、確認画面で保存すると、エントリーのURLが変わってしまうとことがあるという不具合があります。

参照:「Movable Typeで困っていること続報」(zax様のBlogの「Brilliant Rose」)

その不具合がある状態の場合、エントリーを再編集して確認画面で保存した時点でも、エントリーの日付が更新されてしまいます。
このプラグインをお使いになる場合は、上記の不具合に対する修正も合わせて行っておくことをお勧めします。不具合の修正方法も、上記の参考先エントリーにあります。

5.エントリー読み込み時の問題

このプラグインを入れた状態で、Movable Typeの「エントリーの読み込み」機能を使って、バックアップしておいたエントリーを読み込むと、公開する設定になっているすべてのエントリーの日付が、インポート時の日付になってしまいます。
エントリーの読み込みの機能を使う場合は、このプラグインを「plugins」ディレクトリから一時的に削除して置いてください。

6.エントリーの作成日時を自分で更新する機会が多い方の場合

「作成日時を自動更新したいこともあるが、自分で指定することも多い」という方は、以下の手法の方が便利だと思いますので、そちらもご参照ください。

参照:「「作成日時」を更新するボタン追加」(is様のBlog「NOBODY:PLACE」)