問題
解決策
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/
コメント