Craft CMS で N 日以内のエントリーに NEW アイコンを付ける(日付の比較)

2017-06-29
1分で読了
更新: 2025-12-14

目次

Craft CMS でエントリーの投稿日と今日の日付を比較し、N日以内なら NEW マークを付けるというのをやってみたいと思います。

なお、下記のお話は、 entry という変数にエントリーの情報が入っているコンテキストでのお話になります。

投稿日と今日を比較する

エントリーの投稿日は {{ entry.postDate }} で取得できます。

また、今日というか現在の日時は now で取得できます。

そこで、この2つの日付の差分は下記のようにして取得できます。

{% set postDateDiff = entry.postDate.diff(now) %}

これで変数 postDateDiff に2つの日時の差がセットされます。何年何ヶ月などの日時の差の詳細な情報は、それぞれ y, m, d, h, i, s というキーで取得できます。

したがって、投稿日が今日から5日以内のエントリーに NEW マークを付ける場合は、下記のような条件分岐になります。

{% if postDateDiff.y == 0 and postDateDiff.m == 0 and postDateDiff.d <= 5 %}
NEW!
{% endif %}

簡単に実装できましたね!

以上です。

この記事をシェア

この記事を書いた人

Roy Okuwaki

「かたつむりくんのWWW」を運営している Roy Okuwaki(tinybeans)です。bit part 合同会社 代表社員。2007年から、Movable Type や Craft CMS などの CMS、Web 開発、AI ツールの使い方について書いています。

プロフィールを見る →

関連記事