運用中のMTOSを使ったサイトで、トップページの「お知らせ」を、必要な時だけ出したいな、と。
かつトップページ以外では、一応過去のお知らせも参照できるように、記事としては残しておきたい。

という作業をしたので、メモです。

必要な条件等は

1.記事ごとに掲載終了日時(掲載期限)を設定
2.今日の日付を取得
3.「掲載期限」<「今日の日付」となった時、表示から消す

1についてはカスタムフィールドで日時の入力欄を作ればよいのですが、MTOSなもので、いつもお世話になっている藤本壱さんのAntherCustomFieldsプラグインを使います。

こんなかんじでconfig.yamlに定義。
publishend:
type: datetime
revisioned: 1
acf:
type: datetime
label: 記事の終了日
tag: EntryPublishend

2は、そういえば使ったことがなかったのですが、調べてみたら、どうもデフォルトのタグで取得できないらしい。
ので、こんなプラグインを使うと簡単に出来ますた。
http://sourceforge.jp/projects/nekotama/releases/38720/note

今日の日付は、 で取得可能。

3は、で掲載期限より今日の方が大きい場合に表示。

とりあえず今のところ表示、非表示が反映されたが、ちゃんと検証してないので、どこかでコケるかも。

自動でトップページに反映させるためには、更にCRONの設定が必要だけど、滅多に更新しないのでこのまま。