「NEW」の表示

WordPressでつくっているblogに、新しい投稿をしたら自動的に「NEW」表示が出て、そのうち自動で消える、というのをつけてください、という依頼が…。がーーーーん、今まで考えたことありませんでした。その理由は明確で、投稿日付が表示されるので閲覧者が判断する、というものです。「NEW」かどうか、可能な限り情報評価は閲覧者がするという原則に立てば、不可解なものでもあります。しかし、提供側からはその表示をしたい、というギャップです。
そこで、プラグインを調べてみました。

しかし、自動的に消えるか不明、前回アクセス以降の新しい記事にNEW、など少しクライアントのご希望とは異なる内容。それで、仕方なく自作と相成りました。

  1. 経過判断の「タイムスタンプ」(X)を定義
  2. 現在日付から「タイムスタンプ」(A)を生成
  3. 投稿日付から「タイムスタンプ」(B)を生成
  4. A−B= C(差分のタイムスタンプ)
  5. X > C の条件が真ならNEW表示をする(偽なら表示しない)

というようなものをつくりました。
記事タイトルの末尾に表示とのご要望でしたので、見出し2に囲まれたなかへinline表示となるよう、CSSで定義、というような手順でした。
ふーっ。普段phpそのものを書きませんので、ちょっと時間を食いました。
一昔前なら、JavaScriptで書いてたのになあ〜などと、昔を思い出したのでもありました。