-
ワードプレス 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」をつける方法!それではまた〜