WordPressで最終更新日を表示する方法
ネット上で情報を探している場合、ブログに辿り着く事が多いのですが、その際に重要となるのがその記事が書かれた日や更新日です。
WordPressのカスタマイズ法やプラグインの解説記事を探す場合などには、その記事が最新のバージョンに対応しているのかも気になる所です。
WordPressの更新日時を表示する方法としては、以下の記述方法があります。
<?php if (get_the_modified_date('Y年n月j日') != get_the_time('Y年n月j日')) : ?>
更新日: <?php the_modified_date(”) ?>
<?php endif; ?>
これで記事公開日と更新日が異なる場合のみ、更新日が表示されるようになるのですが、問題になるのが予約投稿を利用している場合です。
予約投稿というのは、更新日よりも公開日の方が先になります。記事投稿後に更新する場合には問題ないのですが、予約投稿してその後一切更新しない場合、公開日付よりも更新日付の方が古くなってしまい、混乱を招いてしまう可能性があります。
色々とやり方を探していたのですが見つからず困っていたのですが、Twitterでたずねたところ、かちびとの@シロさんと、firegobyの@miya0001さんに良いやり方を教えて頂きました。
予約投稿にも対応した更新日付の表示
WordPressで記事の最終更新日を取得にあるように、functions.phpとsingle.phpを修正する必要があります。
まず、以下のコードを使っているテーマのfunctions.phpに追記します。
/*
get_the_modified_time()の結果がget_the_time()より古い場合はget_the_time()を返す。
同じ場合はnullをかえす。
それ以外はget_the_modified_time()をかえす。
*/
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 if ($mtime = get_mtime('Y/m/d')) echo '最終更新日: ', $mtime; ?>
Y/m/dの部分は、Y年n月j日でもOKです。最終更新日の部分は好きな文字でOKです。
当ブログでは以下のように記述しています。
公開日:<?php the_time('Y年n月j日') ;?><br />
<?php if ($mtime = get_mtime('Y年n月j日')) echo '最終更新日:', $mtime; ?>
こうすると以下のような日付表示になります。

予約投稿でも基本的には公開日だけが表示されるようです。導入する前に予約投稿していた記事や、公開日に更新した記事については、上図の予約投稿した場合のように、同じ日付が表示される形となります。
関連記事
- phpMyAdminでMySQLデータベースのエクスポートとインポート
- Breadcrumb NavXT – パンくずリストの表示
- wgetのインストールと使い方
- Simple Tags – タグの管理と関連記事表示
- カテゴリーを作成する








