指定期間内に公開した記事タイトルに一括で新着表示をつける

概要説明

記事公開から何日は新着情報として表示させたいという場合のカスタマイズ。指定箇所にそれぞれ設定する場合が一般的ですが一括で対応したい時用のカスタマイズ。条件分岐を追加することで表示させたいページの制御も可能です。

functions.php
/*----------------------------------------------------
 管理画面以外の記事タイトルに一括で[new]をつける
----------------------------------------------------*/
if ( !function_exists( 'add_new_all_title' ) ){
    if(!is_admin()) {
        function add_new_all_title($the_title) {
            $days           = 3; // 公開から何日目まで new を表示させるか
            $published_time = get_post_time();
            $today          = wp_date('U');
            $diff_time      = $today - ($days * 60 * 60 * 24); // 日付*1日の秒数

            // 期間判定
            if($published_time > $diff_time) {
                return '[new] '. $the_title;
            } else {
                return $the_title;
            }
        }
        add_filter('the_title','add_new_all_title');
    }
}

管理画面、詳細ページ以外のタイトルに一括で新着[new]をつける

functions.php
/*----------------------------------------------------
 管理画面と詳細ページ以外の記事タイトルに一括で[new]をつける
----------------------------------------------------*/
if ( !function_exists( 'add_new_all_title' ) ){
    if(!is_admin()) {
        function add_new_all_title($the_title) {
            $days           = 3; // 公開から何日目まで new を表示させるか
            $published_time = get_post_time();
            $today          = wp_date('U');
            $diff_time      = $today - ($days * 60 * 60 * 24); // 日付*1日の秒数

            // 期間判定 & 詳細ページを除外
            if($published_time > $diff_time and !is_single()) {
                return '[new] '. $the_title;
            } else {
                return $the_title;
            }
        }
        add_filter('the_title','add_new_all_title');
    }
}

一括での新着表示にタグを使う場合は要注意

// 問題となる場合のサンプル
<a href="#" title="[new] 記事タイトル">[new] 記事タイトル</a>

title属性などで記事タイトルを使っている場合は新着表示にタグは使わないほうが良いです

指定箇所で新着表示を付ける場合(タグ利用可能)

functions.php
/*----------------------------------------------------
 指定箇所で新着表示を付ける場合
----------------------------------------------------*/
if ( !function_exists( 'add_new_title' ) ){
    function add_new_title($published_time) {
        $days           = 3; // 公開から何日目まで new を表示させるか
        $today          = wp_date('U');
        $diff_time      = $today - ($days * 60 * 60 * 24); // 日付*1日の秒数

        // 期間判定
        if($published_time > $diff_time) {
            echo '<span style="color:red">[new]</span>';
        }
    }
}
// 下記コードにて任意の位置で表示できます
<?php add_new_title(get_the_time('U')); ?>

WordPress Developer Resources

関連機能

  1. WordPress 永続オブジェクトキャッシュAPC設定を設定して高速化 (エックスサーバー)

  2. WordPress作業にてよく使うChrome拡張機能 作業の効率UP! テーマ、プラグインの調査に大活躍な便利機能

  3. 新規記事作成時の初期値設定

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

俺は俺の責務を全うする!
ここにいる者は誰も死なせない!!

鬼滅の刃
by 煉獄杏寿郎

Profile

PAGE TOP
Amazon プライム対象