WordPress Logoブログで記事の投稿日時を表示させる際、通常は「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)では狙い通りに出力されますので、ぜひ試してみてください。