ワードプレステーマの賢威で指定した日付の更新日を表示させない方法

※当サイトにはプロモーションが含まれています。

クライアントクライアント

記事をまとめて修正したから、更新日がすべて同じ日付になってしまった。
見栄えが悪いから、今日、更新した分は無効にして欲しい。

にゃテックにゃテック

おけまるだにゃ

ワードプレス(WordPress)テーマの「賢威」では、記事を作成すると公開日や更新日などが表示されるようになっています。

ワードプレステーマ「賢威」の公開日や更新日の表示

この公開日や更新日は、デフォルトの設定で表示・非表示にすることは可能ですが、特定の記事や、特定の日時に対して、表示・非表示を設定する事はできません。

その為、今回は、1日で大量の記事を修正した場合などを想定して、指定した日付の場合は、更新日が表示されないようにしてみました。

賢威を使っている方の参考になれば幸いです。

なお、この記事を作成している時点での、ワードプレスのテーマと環境は以下の通りです。

ワードプレス環境

テーマ:賢威8
WordPressバージョン:6.2.x
PHPバージョン:8.2.x
サーバー:さくらインターネット

※セキュリティの観点から、マイナーバージョンの一部をxとさせて頂きます

指定した日付の更新日を表示させない方法

賢威で指定した日付の更新日を表示させない方法についてです。

①親テーマのpart-entry_status.phpをダウンロード

(WinSCPやFileZillaなどの)FTPソフトを使用して、ローカルホスト(自分のパソコン)に、親テーマにあるpart-entry_status.phpをダウンロードします。

なお、フォルダの構成は、概ね下記のようになっていると思います。

/home/(あなたが契約した名前)/www/(あなたが作成したフォルダ名)/wp-content/themes/keni80_wp_standard_all_202403231915/template-parts

親テーマのpart-entry_status.phpをダウンロード

※通常、賢威の親テーマは「keni80_wp_standard_all_(日付+時間)」という形式になっています

②part-entry_status.phpの内容を編集する

part-entry_status.phpの2~22行目を一気に書き換えます。

part-entry_status.phpの書き換える中身

この部分に対して、下記コードで上書きします。

<?php
$flag_get_time_disp = get_option('keni_time_disp', 'show');
if ($flag_get_time_disp != 'hide') :

// 非表示にしたい更新日を設定
$exclude_dates = ['2024-11-01', '2024-11-10'];

// 現在の更新日を取得
$current_modified_date = get_the_modified_date('Y-m-d');
?>
<ul class="entry_date">
<?php

// 更新日を表示するかの条件をチェック
if (
!in_array($current_modified_date, $exclude_dates) && // 非表示対象でない場合
($flag_get_time_disp == 'update' || (get_the_modified_date('Ymd') > get_the_date('Ymd') && $flag_get_time_disp == 'show'))
) {
$str_modified_date = get_the_modified_date();
$str_modified_date_prop = get_the_modified_date('c');
if ($str_modified_date == '') {
$str_modified_date = get_the_date();
$str_modified_date_prop = get_the_date('c');
}
echo '<li class="entry_date_item">' . __('Update Date', 'keni') . ':<time itemprop="dateModified" datetime="' . $str_modified_date_prop . '" content="' . $str_modified_date_prop . '">' . $str_modified_date . '</time></li>';
}

// 公開日は常に表示
if ($flag_get_time_disp == 'show' || $flag_get_time_disp == 'post') {
$str_published_date = get_the_date();
$str_published_date_prop = get_the_date('c');
echo '<li class="entry_date_item">' . __('Post Date', 'keni') . ':<time itemprop="datePublished" datetime="' . $str_published_date_prop . '" content="' . $str_published_date_prop . '">' . $str_published_date . '</time></li>';
}
?>
</ul>
<?php endif; ?>

日付の指定は、

$exclude_dates = ['2024-11-26', '2024-11-21'];

の部分でおこないます。

この場合、2024年11月26日と、2024年11月21日に更新された記事のみ、更新日の表示がされないようになります。

11月26日の更新日が非表示

もちろん、投稿ページでも表示されなくなります。

投稿ページでも更新日が非表示になる

なお、指定する日付を減らしたければ、

$exclude_dates = ['2024-11-26'];

のように記載して、指定する日付を増やしたければ、

$exclude_dates = ['2024-11-26', '2024-11-21', '2024-10-02'];

と記載します。

※すべて半角英数字、YYYY-MM-DD形式で記載

なお、実際に記載したコードを見るとこんな感じになります。

実際のコードの記載例

③修正したpart-entry_status.phpを子テーマにアップロードする

part-entry_status.phpは、template-partsフォルダの中に入っている必要があります。

その為、子テーマにtemplate-partsフォルダがない場合は、template-partsフォルダを作成しましょう。

大抵のFTPソフトは、右クリックすることで、新規ディレクトリを作成できます。

新規ディレクトリ(template-parts)を作成

そして、先程、修正したpart-entry_status.phpファイルを、子テーマにあるtemplate-partsフォルダにアップロードします。

part-entry_status.phpファイルをアップロード

これで、指定した日付の更新日が非表示になったはずです。

もし、デザインが崩れるなどの不具合があった場合は、子テーマにアップロードしたpart-entry_status.phpファイルを削除すれば元に戻ります。

何故なら、親テーマには一切変更を加えてないからです。

以上、賢威で指定した日付の更新日を表示させない方法でした。

ご支援のお願い
この記事が役に立ったと感じたら・・・

Ny@Tech(にゃテック)

この記事が少しでもお役に立ったと感じていただけましたら、ぜひ下のリンクからお買い物をしていただけると幸いです。

ご購入いただいた金額の一部(1~3%程度)が私に入り、より多くの有益な記事を作るための励みになります。

下記のリンクを通じて、Amazonや楽天でお買い物いただけると嬉しいです。