
WordPressでの日付の表示方法メモです。公開された日付、または更新された日付を取得・出力する方法を記していきます。
the_date()
the_date() は投稿日を取得・出力する関数です。
<?php the_date(); ?>この記述で投稿日を出力してくれます。
特に引数を指定しない場合、管理画面の【設定 > 一般】の「日付形式」で設定している形式で表示されます。

the_date() は一つのループ内で同一の日付は繰り返し表示しません。そのため使い所が難しいかもしれません。
get_the_date()
get_the_date() は投稿日を取得する関数です。出力する際には以下のように記述します。
<?php echo get_the_date(); ?>the_date() はループ内で同じ日付は表示されませんが、get_the_date() なら繰り返し表示されます。
the_time()
the_time() は投稿時間を出力する関数です。取得用の get_the_time() もあります。
<?php the_time(); ?> このままだと時間が「8:06 PM」といった時間が表示されるので、フォーマットを指定して投稿日を出力するようにします。
the_time('Y年n月j日');
the_time('Y年n月j日 H時i分s秒');wp_date()
wp_date() は、WordPressのタイムゾーンを考慮した現在日時の取得ができます。
この関数は取得のみなので echo を使って出力します。
<?php echo wp_date('Y年n月j日 H時i分s秒'); ?>このコードだと「現在の日時」になってしまうので、投稿の日付を表示されるように引数を追加します。
$published = get_the_time('U');
echo wp_date('Y年n月j日 H時i分s秒', $published);さらにタイムゾーンの変更も可能です。(指定のない場合はサイトのデフォルトのタイムゾーン)
echo wp_date('Y年n月j日 H時i分s秒', $published, new DateTimeZone('America/North_Dakota/New_Salem')); the_modified_date() / the_modified_time()
更新日の出力は the_modified_date() や the_modified_time() などが使えます。
<?php the_modified_date(); ?>
<?php the_modified_time(); ?>the_date() や the_time() と同様に、引数でフォーマットを指定できます。
それぞれ取得するための get_the_modified_date() 、get_the_modified_time() 関数もあります。
応用編: 「更新から◯日経過」を表示させる
更新日取得のコードを利用して「更新から◯日経過している」という表示をさせることができます。
<?php
$modified = get_the_modified_date('U');
$now = current_time('timestamp');
$diff = floor( ($now - $modified) / DAY_IN_SECONDS );
echo '最終更新から ' . $diff . ' 日経過しています(更新日:' . wp_date('Y-m-d', $modified) . ')';
?>カテゴリー : WordPress