勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

WordPressで翌日以降に編集した記事のみ最終更新日を表示する方法

  WordPress CMS

WordPressで翌日以降に編集した記事のみ最終更新日を表示させたい。逆に言うと当日に編集した場合は最終更新日は表示させたくない。というのも記事公開後にページチェックした際、誤字脱字とかが見つかり公開後すぐに編集することがある。その場合公開日と最終更新日が同じ日付で表示されるというのを避けたい。以下に対応方法をメモ。

 

ソースコード

functions.php

//最終更新日の取得
function get_mtime($format) {
    $mtime = get_the_modified_time('Ymd');
    $ptime = get_the_time('Ymd');
    if ($ptime > $mtime) {
        return get_the_time($format);
    } elseif ($ptime === $mtime) {
        return null;
    } else {
        return get_the_modified_time($format);
    }
}

最終更新日を表示するページ(single.php等)

<?php $regist_ymd = get_the_time('Y/m/d'); //公開日?>
<?php $update_ymd = get_mtime('Y/m/d'); //最終更新日?>
<?php if( $update_ymd && $regist_ymd != $update_ymd ){ //最終更新日が存在して公開日と最終更新日が異なる場合?>
    <i class="fa fa-repeat"></i>&nbsp;<?php echo $update_ymd;?>
<?php } ?>

 

リファレンス

get_the_time

https://developer.wordpress.org/reference/functions/get_the_time/

get_the_modified_time

https://developer.wordpress.org/reference/functions/get_the_modified_time/

 - WordPress CMS

  関連記事

WordPressでカスタムフィールドとCSVファイル投稿する方法

WordPressでカスタムフィールド設定している環境に、CSVファイルアップロ ...

PHP8系で「Warning: Attempt to read property "xxxxxx" 」エラーの対応方法

PHP8系&WordPress6.4.3で「Warning: Attem ...

wp_mail関数でエンベロープFrom(Return-Path)が指定できない場合の対応方法

WordPress内に設置されたお問い合わせのフォームようなシステムでエンベロー ...

WordPressのサーバー移行で気付いた点

あるWordPressを置いているサーバーのリソースが苦しくなってきたので、新た ...

WordPressにてパーマリンク設定のカテゴリーベースに関して

WordPressのパーマリンク設定でカテゴリベースを設定したかった。ここは変更 ...