ワードプレス 2021.07.08

【WordPress】新着記事に“NEW”などの新着マークをつける方法!【プラグインなし】

こんにちは。フリーのWEBクリエーターの筆者です。

今回はワードプレスの投稿で「NEW」や「新着」など新しい投稿にのみマークをつける方法を紹介します。
正直個人的にはこの機能はワードプレスのデフォルトで設定できて欲しい機能です。

今回は下記のサイト様を参考にさせて頂きました。
【WordPress】コピペでOK!新着記事に「NEW」をつける方法!

要素込みで出力するように変更

素晴らしい上記サイト様のPHPコードですが、1点こちらのサイト様のPHPコードをテキスト要素内で吐き出して、テキスト要素に背景色をつけたところ、当然ではありますが新着記事でない投稿には、中身(NEW)はないがテキスト要素のCSSのみが残ってしまいました。

そこで一部微調整をして、spanなどで自動で要素込みで出力できるようにしてみました。

コピペ用コード紹介

各コードの詳細は参考させて頂いた、サイト様のページをご参考ください。

投稿件数で判別してマークをつける

<p>
    <?php
    $limit = 5;
    $num = $wp_query->current_post;
    if ( $limit > $num ):
        echo '<span>', 'NEW', '</span>';
    endif;
    ?>
</p>

投稿時間で判別してマークをつける

<p>
    <?php
    $days = 7;
    $today = date_i18n('U');
    $entry_day = get_the_time('U');
    $keika = date('U',($today - $entry_day)) / 86400;
    if ( $days > $keika ):
        echo '<span>', 'NEW', '</span>';
    endif; 
    ?>
</p>

投稿件数&時間で判別してマークをつける

<p>
    <?php
    $days = 7;
    $today = date_i18n('U');
    $entry_day = get_the_time('U');
    $keika = date('U',($today - $entry_day)) / 86400;
    if ( $days > $keika ):
        $limit = 3;
        $num = $wp_query->current_post;
        if ( $limit > $num ):
            echo '<span>', 'NEW', '</span>';
        endif;
    endif;
    ?>
</p>

出力されるhtmlコード

<p>
    <span>NEW</span>
</p>

変更点と各所概要

簡単にHPに合わせて、変更するためだけのコードの説明だけしますね。

各コード1行目の
$limit = 5; ←こちらが最新件数の何件にマークアップするか
$days = 7; ←こちらが何日以内の投稿にマークアップするか
となっております。

私の方で修正を加えたのが

echo '<span>', 'NEW', '</span>';

上記行のコードになります。
参考サイト様のコードでは「NEW」のテキストのみが表示されますが、このコードですとspanタグごとNWEマークが出力されますので、
このspanタグにcssを設定すれば、新着記事でない場合はspanタグごと出力されないので、どんなデザインを付与しても大丈夫です!

もちろんspanでなくても大丈夫ですし、NEWのテキストも任意で変更してください。

PHPコードはカテゴリー(category.php)、記事詳細ページ(single.php)など任意の場所にコピペすればOK!

是非参考サイト様と合わせて、ワードプレスに「NEWマーク」を実装してみてください。

参考サイト様
【WordPress】コピペでOK!新着記事に「NEW」をつける方法!

それではまた〜

UREi BOOKS

日々の憂いを少しでも晴らせるよう、楽しいことや何かお役に立てる情報をブログとしてまとめています。何かのお力になることができれば幸いです^ ^
2年ほど前からVTuberにハマってます。ホロライブファンです。