Twitterでおなじみの「○時間前」という投稿時間の表示方法を、WordPressで簡単に設定する方法があったのでご紹介。
投稿時間を表示させたい部分に、以下を使用するだけです。
human_time_diff(get_the_time('U'), current_time('timestamp')) . '前'
これで「○分前」「○時間前」「○日前」というふうに投稿時間を表示してくれます。「○週間前」「○ヵ月前」といった表示にはなりませんが、シンプルに「152日前」という表示でもいいかなと思っています。「○週間前」や「○ヵ月前」という表示は、よくよく考えると表示ルールが複雑になってしまいます。
たとえば8日前の場合、以下のような表現ができそうですが、どれもメリット/デメリットがありそうです。結局「○日前」がぱっと見て一番分かりやすいかなという結論に至りました。
- 1週間と1日前
→ 文字でみるとまどろっこしい - 1週間以上前
→ 曖昧 - 8日前
→ 日数が多くなったときに微妙
human_time_diff() 関数で、3つの表示方法を選べるようになってたら一番いいんですけどね。うるう年やら30日、31日の月への対応やらを考えてたら複雑なプログラムになってしまうので、そういった機能を実装するまでの価値はないという判断なのでしょうか?
2010年10月28日に公開され、2017年11月23日に更新された記事です。
About the author
「明日のウェブ制作に役立つアイディア」をテーマにこのブログを書いています。アメリカの大学を卒業後、ボストン近郊のウェブ制作会社に勤務。帰国後、東京のウェブ制作会社に勤務した後、ウェブ担当者として日英バイリンガルのサイト運営に携わる。詳しくはこちら。
ウェブ制作・ディレクション、ビデオを含むコンテンツ制作のお手伝い、執筆・翻訳のご依頼など、お気軽にご相談ください。いずれも日本語と英語で対応可能です。まずは、Mastodon @rriver@vivaldi.net 、Twitter @rriver 、またはFacebook までご連絡ください。