勉強したことのメモ

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を4.8.2にして不具合

WordPressを4.8.2にすると記事の新規追加時にウィジウィグの挙動がおか ...

Advanced Custom FieldsでGoogleMapの使用する方法

Advanced Custom FieldsでGoogleMapを使用したかった ...

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

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

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

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

WordPressでサイト及びサーバ内ファイルが改ざんされた際の対処方法

WordPressで立ち上げたサイトがあり、しばらく放置していたが久しぶりにチェ ...