問題 × 解決策

WordPressで7日以内の新着記事にnewを付ける方法

問題

Wordpressで7日以内の新着記事にnewを付けるには?

解決策

現在の日時を「date_i18n(“U”)」、記事の投稿日時を「get_the_time(‘U‘)」で取得し、差分から判定する。

 

WordPressでの日付の比較

Javascriptで7日以内のお知らせにNEWを付けるには、以下の手順で行います。

  • 現在の日時を「date_i18n(“U”)」で取得します。
  • 記事の投稿日時を「get_the_time(‘U‘)」で取得します。
  • 2つの日時の差分が7日以内の場合、記事を囲うタグにクラス「new」を付与します。

7日以内のお知らせにNEWを付ける記述例

PHP

<?php
$days = 7;
$today = date_i18n('U');
$entry_day = get_the_time('U');
$dif = date('U',($today - $entry_day)) / 86400;
?>
<article class="article<?php if ( $days > $dif ): echo " new"; endif; ?>">
	...
</article>
  • 「$amp;days = 7」はNEWを付けさせる日数を設定しています。もし14日以内としたい場合は、この部分の数値を書き換えてください。
  • 現在の日時を「date_i18n(‘U’)」で取得します。
  • 独自属性として「timer」を事前に設定しておき、sliceを使用して、日付形式へと変換します。
  • 記事の投稿日時を「get_the_time(‘U’)」で取得します。
  • 「date(‘U’,($today – $entry_day)) / (24 * 3600)」で、差分の日数を取得します。
  • 「if ( $days > $dif ): echo ” new”; endif;」で、7日以内の場合、クラス「new」を付与します。

ポイント!

2つの日付の差分は、「date(‘U’,( 現在の日時(‘U’) – 記事の投稿日時(‘U’) )) / (24(時) * 3600(分秒))」で取得することができます。
フォーマットの形式の一つである「U」は、「Unix Epoch (1970 年 1 月 1 日 0 時 0 分 0 秒) からの秒数」を示します。

参考ページ

【WordPressでの現在日時取得はdate_i18n()を使う – UCWD-Studio – @matsuoka_UCWDjp ‘s Private Projects.】
http://ucwd.jp/blog/729

【WordPressで新着記事にNEWマークをつける簡単な方法–[FIT BLOG-フィットブログ]】
https://fit-jp.com/newmark/

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

eleven + 3 =

「問題 × 解決策」
月別アーカイブ一覧

「問題 × 解決策」
月別アーカイブ一覧