MTで何度か記事の内容を修正するので、最終更新日を入れたい場合

MTで一度公開した記事をあとで修正する場合、最終更新日が入るといいのではないか。
日付自体はコレで入るが
<$mt:EntryModifiedDate format_name="iso8601"$>
いつもコレがあってドーンと場所を取るというのもスマートではない。

条件分岐を使って、記事に修正を入れた時だけ最終更新日を入れるにはどうしたらいいのか。

タグの欄にlastupdatedが入ったら表示みたいなのはどうだろうか。
<mt:If tag="lastupdated">最終更新日: <$mt:EntryModifiedDate format_name="iso8601"$></mt:If>

でも、それってタグ欄に入力という一手間を忘れなかった場合しか使えないよね。
できれば、全自動で分岐して欲しい。
記事を公開した日付EntryDateと、更新した日付EntryModifiedDateが一致しなかった場合のみ実行、というのはどうだろう。

<$mt:SetVar name="lastupdated" value="<$mt:EntryDate format_name="iso8601"$>"$>
<mt:If name="lastupdated" ne="<$mt:EntryModifiedDate format_name="iso8601"$>">
<p><span class="updated">最終更新日: <time><$mt:EntryModifiedDate format="%x"$></time></span></p>
</mt:If>

あれ?全部のページで表示されちゃうな。
失敗だ・・・。
変数を使う条件分岐は久しぶりなので忘れたな。
<$mt:Var name="lastupdated"$>で呼び出してみると、変数に入っていないらしい。
<mt:SetVarBlock>で囲んだらどうや?

<mt:SetVarBlock name="EntryDate"><$mt:EntryDate format=%I%M%S$></mt:SetVarBlock>
<mt:SetVarBlock name="ModifiedDate"><$mt:EntryModifiedDate format=%I%M%S$></mt:SetVarBlock>
<mt:If name="EntryDate" ne="ModifiedDate">
<p><span class="updated">最終更新日: <time ModifiedDate="<$mt:EntryModifiedDate format_name="iso8601"$>"><$mt:EntryModifiedDate format="%x"$></time></span></p>
</mt:If>

成功すれば、この下には3/27ではない日付が入るはずだよ。

・・・ん~~、成功したけれど、変更してない記事にも最終更新日が出てしまう。
あちこち調べてみたら、「MTIfの中でMTタグは使えない」と書いてあった。
じゃあこうか?
<mt:If name="EntryDate" ne="$ModifiedDate">

やっぱりダメ。
う~~~ん。

最終更新日:

このエントリーをはてなブックマークに追加

広告