ある日数だけnewをつけるには?

WordPress
スポンサーリンク

ある日数だけnewをつけるには?

文字だけ出力する

30日以内の記事にnewを付けています。

<?php
$days = 30;
$today = date_i18n('U');
$entry_day = get_the_time('U');
$keika = date('U',($today - $entry_day)) / 86400;
if ( $days > $keika ):
    echo 'new';
endif; 
?>
  • 「$days = 30」で「New」をつける期間を30日以内にします。
  • 「date_i18n(‘U’);」日付を取得する。
  • 「get_the_time(‘U’);」現在の投稿時刻の取得。
  • if ( $days > $keika ): 30日より、経過した時間が小さかったらnewと表示させる。

こんな感じで、newという文字だけが出力されます。

背景色など、文字がない場合も、背景色が出てしまい、デザインがある場合はこちらだとうまくいきません。

参考にしたサイト https://webdesignday.jp/inspiration/wordpress/3687/

背景色など、デザインごと出力する

 <?php
   $post_time = get_the_time('U');
   $days = 30; //New!を表示させる日数
   $last = time() - ($days * 24 * 60 * 60);
   if ($post_time > $last) {
   echo '<i class="item-icon">New</i>';
   }
 ?>

  • 「get_the_time(‘U’);」投稿日時の取得。
  • 「$days = 30」で「New」をつける期間を30日以内にします。
  • $last = time() – ($days * 24 * 60 * 60); 日数×1日の秒数(日数 × 24 × 60 × 60)
  • if ($post_time > $last) もし、経過した秒数の方が小さいときにnewを表示させる。

こんな感じで、背景などにデザインがある場合、こちらのコードで書くとうまくいきました。

参考にしたサイト https://turicco.com/2021/06/17/wordpress-new/

         

タイトルとURLをコピーしました