WordPressで投稿日と更新日の日付比較方法と、更新日の扱いについて

以前、投稿日と更新日を表示するためのコードの記事を書いていましたが、他の書き方もあるのでメモ。

以前に書いたコードは、get_the_timeとget_the_modified_timeを使用して時間の比較をして更新日を表示することを書いていました。

$date1 = get_the_time('Ymd');//投稿日時  
$date2 = get_the_modified_time('Ymd');//更新日時  
if($date1 < $date2) {
  return ' 更新日:'.get_the_modified_date();
}

コードの内容は、考え方によってかわりますけれど日付の比較をしたいので、単純にget_the_dateとget_the_modified_dateを使っても同じことができます。

$date_t = get_the_date();
$date_m = get_the_modified_date();
if ( $date_t >= $date_m) {
	print( '投稿日:'. $date_t );
} else {
	print( '投稿日:'. $date_t . ' 更新日:' . $date_m );

処理速度が遅いらしい?三項演算子で書くと下のコードになります。

print(get_the_date() >= get_the_modified_date() ? '投稿日:' . $date_t : '投稿日:' . $date_t . ' 更新日:' . $date_m );

更新日の扱い

更新日の扱いをどうしたら良いのかと考えていました。
通常、更新日の表示は、考え方によりますけれど、投稿した後日に記事を修正すると更新日を表示するのが一般的な感じがします。

予約投稿の場合、公開される前に記事を修正すると、予約日(公開日)より過去の日が更新日となります。、この場合は、更新日を表示しないコードになるわけですが、更新日どのような考えるかで書き方が変ってきます。

公開される前に記事を更新して、それを表示する場合、一般ユーザーからしたら公開もされていない記事に更新日があるというのも不思議な気がすると思うんです。公開された後に記事を更新したときだけ、更新日を表示するのが良い流れなのかなと。

さらに公開日と同じ日に記事を更新した場合、これは表示するかしないかについては、同じ日なら更新日を表示しないでもいいのではないかと。

因みに上のコードは、公開日と更新日が同じ場合は更新日を表示しません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です