WordPressサイトの投稿ページに公開日と最終更新日を自動的に表示する方法をご紹介します。
目次
公開日と最終更新日の表示イメージ
今回のカスタマイズを適用すると、投稿ページに【公開日(最終更新日)】のフォーマットで日付を表示されるようになります。

カスタマイズ前では公開日のみが表示されていました。

必要なコード(全体)
まずは、すべてのコードをまとめてご紹介します。
次のコードをWordPressテーマのfunctions.phpに追加します。
function display_last_modified_date( $published_date, $format = '' ) {
if ( is_single() ) {
$modified_date = get_the_modified_date($format);
if ( $published_date !== $modified_date ) {
$ret = sprintf(
'%s(最終更新日 %s)',
esc_html($published_date),
esc_html($modified_date)
);
} else {
$ret = $published_date;
}
} else {
$ret = $published_date;
}
return $ret;
}
add_filter('get_the_time', 'display_last_modified_date', 10, 2);
functions.php を編集する際は、必ずバックアップを取っておきましょう。
コードの詳しい解説
add_filter()
で、公開日を表示するときにdisplay_last_modified_date()
を実行する、フィルターフックを設定します。
フィルターフックとは、WordPressが日付を表示するタイミングで、独自の関数を割り込ませて表示内容を書き換えるための機能です。
display_last_modified_date()
には公開日とその日付のフォーマット(YYYY/MM/DD)が引数で渡されます。
function display_last_modified_date( $published_date, $format = '' ) {
・・・
}
add_filter('get_the_time', 'display_last_modified_date', 10, 2);
is_single()
で投稿ページかを判定します。
投稿ページでない場合は元の公開日をそのまま返して処理を終了します。
if ( is_single() ) {
・・・
} else {
$ret = $published_date;
}
return $ret;
投稿ページの場合は、get_the_modified_date()
で最終更新日を取得します。
公開日と最終更新日を比較して、両者が一致する場合は元の公開日をそのまま返して処理を終了します。
$modified_date = get_the_modified_date($format);
if ( $published_date !== $modified_date ) {
・・・
} else {
$ret = $published_date;
}
公開日と最終更新日が異なる場合は、【公開日(最終更新日)】のフォーマットでウェブページに表示する日付を設定します。
$ret = sprintf(
'%s(最終更新日 %s)',
esc_html($published_date),
esc_html($modified_date)
);
まとめ
WordPressサイトの投稿ページに公開日と最終更新日を表示する方法をご紹介しました。
テーマファイルを編集する際は不具合などに備えてバックアップを取るようにしましょう。
弊社ではWordPressサイトの作成や保守を行っています。お気軽にご相談ください。