【WordPress】公開日や更新日の表示方法

WordPressでの日付の表示方法メモです。公開された日付、または更新された日付を取得・出力する方法を記していきます。

the_date()

the_date() は投稿日を取得・出力する関数です。

PHP
<?php the_date(); ?>

この記述で投稿日を出力してくれます。

特に引数を指定しない場合、管理画面の【設定 > 一般】の「日付形式」で設定している形式で表示されます。

the_date() は一つのループ内で同一の日付は繰り返し表示しません。そのため使い所が難しいかもしれません。

get_the_date()

get_the_date() は投稿日を取得する関数です。出力する際には以下のように記述します。

PHP
<?php echo get_the_date(); ?>

the_date() はループ内で同じ日付は表示されませんが、get_the_date() なら繰り返し表示されます。

the_time()

the_time() は投稿時間を出力する関数です。取得用の get_the_time() もあります。

PHP
<?php the_time(); ?> 

このままだと時間が「8:06 PM」といった時間が表示されるので、フォーマットを指定して投稿日を出力するようにします。

PHP
the_time('Y年n月j日');
the_time('Y年n月j日 H時i分s秒');

wp_date()

wp_date() は、WordPressのタイムゾーンを考慮した現在日時の取得ができます。

この関数は取得のみなので echo を使って出力します。

PHP
<?php echo wp_date('Y年n月j日 H時i分s秒'); ?>

このコードだと「現在の日時」になってしまうので、投稿の日付を表示されるように引数を追加します。

PHP
$published = get_the_time('U');
echo wp_date('Y年n月j日 H時i分s秒', $published);

さらにタイムゾーンの変更も可能です。(指定のない場合はサイトのデフォルトのタイムゾーン)

PHP
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
<?php the_modified_date(); ?> 
<?php the_modified_time(); ?>

the_date()the_time() と同様に、引数でフォーマットを指定できます。

それぞれ取得するための get_the_modified_date()get_the_modified_time() 関数もあります。

応用編: 「更新から◯日経過」を表示させる

更新日取得のコードを利用して「更新から◯日経過している」という表示をさせることができます。

PHP
<?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

index