ブログで記事の投稿日時を表示させる際、通常は「x年y月z日」というように絶対日時で出力することがほとんどです。
これを、Twitter や Facebook で見かけるような「x日前」や「y時間前」「z分前」のような相対日時で表記させる方法を紹介します。
便利なことに、WordPress には予め「human_time_diff」という関数が用意されています。
基本的な仕様は以下の通り。
human_time_diff( $from, $to );
引数の$fromは必須で$toはオプションになります。
また、どちらの引数もUNIXタイムスタンプで指定する必要があります。
Codexでは最もシンプルに使うためのコードがサンプルとして紹介されていました。
それが以下のコード。
試しにテーマファイルのループの中に記述してみましょう。
<?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . '前に投稿しました'; ?>
これで「3日前に投稿しました」や「6か月前に投稿しました」と表示されるようなります。
注意点として、WordPressのヴァージョンによって挙動が大きく違い、出力される情報が異なってくるので、場合によってはコードをカスタマイズする必要があるかもしれません。
最新版(Ver4.1)では狙い通りに出力されますので、ぜひ試してみてください。
 
						 
								 
								![【WordPress】内部リンクがコメント扱いされる[セルフピンバック]を停止する方法:サムネイル](https://on-ze.com/blog/wordpress/wp-content/themes/onze-blog-2024/inc/thumbnail/600x360x80-752de530fa34b7cc86a57178117537ee-2021-disable-pingback-01-scaled-1.png) 
								 
							![【Font】日本人ならゲシュタルト崩壊必至のフォント[Electroharmonix]が話題になっています。:サムネイル](https://on-ze.com/blog/wordpress/wp-content/themes/onze-blog-2024/inc/thumbnail/600x360x80-b9d8188b8fbabe8adf79fbdd200c9586-electroharmonix-a.png)