WordPressで新着記事にNEWのマークを付ける方法

496 回閲覧されました

みなさんこんにちは、jonioです。

今回は新着記事がある場合に「NEW」のマークを付ける方法を解説します。

コピペでもできますのでコードの意味が理解できない場合はコピペでも実装できます。

 

デモ画像

↓みたいにNEWのマークを付ける事ができますがこれはCSSを当てているのでそれは自分でやって下さい。

今回の実装内容は記事を投稿して7週間以内は「NEW」のマークが表示される様にします。

 

対応する記事のタイプ

今回の実装内容は投稿タイプで使えます。

それではコードの解説をします

 

ループを書く

ループの中で使えるのでまずはループを書きます。

 

NEWマークを表示するための記述

そしてNEWのマークを表示する為の記述をします。

まずは設定から解説します。

 

日時を秒で取得

6行目の「get_the_time(‘U’)」で投稿した瞬間の日時を秒で取得します。

8行目の「time( )」で現在の日時を秒で取得しますが記事を投稿してからも日時は進んでいくので取得する秒は増えていきます。

 

1週間の期間を作る

また「($days * 24 * 60 * 60)」が7日間を秒で表しています。

投稿してから7日間NEWマークを付けますが7日間NEWマークを表示する期間の幅を作る為に「time() 」から「 ($days * 24 * 60 * 60)」を引きます。

 

NEWの表示

そして設定をif文で使います。

9行目の「$post_time > $last」ですが例えで考えるとイメージがしやすいです。

投稿した日付が10日とします。

すると6行目の「$post_time」と8行目の「time( )」は10日目までの秒を取得して8行目の「$last」は3日分の秒を取得して「$post_time」と「$last」で7日分の期間の幅ができます。

9行目の「$post_time > $last」ですが$post_timeは10日分の秒になり$lastは今の時点では3日分の秒ですが$lastの中にtime()が入っているので日々時間が増えていき4日分・5日分と増えていきその期間中(全部で7日間)はNEWが表示される流れになります。

これで完成です。