WordPressの新着記事に「new」をつける

2023.12.19 09:00
2023.12.18 09:51
WordPressの新着記事に「new」をつける

新着記事にnewをつけてみました。
コードはこんな感じです。共通で使えるように「templates」の中に「badge_new.php」としてパーツで切り出しました。

<?php
/**
 * 記事 - NEW表示
 *
 * @package WordPress
 */

// 表示する日数(n日以内)
$days = 7;

// 今日の日付を取得
$today = date_i18n('U');

// 対象の記事投稿日時を取得
$date = $args['date'];

// 差分の日付を計算
$post_date = date('U' ,($today - $date)) / 86400;
?>

<?php if( $days > $post_date ):?>
<span class="c-badge__new">NEW!!</span>
<?php endif;?>

newを表示する日数を指定し、送られてきた投稿日と差分をUNIXTIMEで比較するって感じですね。
読み込み元はこんな感じです。

<?php get_template_part('templates/badge_new', null, ['date' => get_the_time('U')]);?>

ポイントは、渡す変数名を「date」とし、投稿日をUNIXTIME指定しているところですね。理屈はシンプルですね。

今回は以上です!