WordPressで投稿日の時間を表示する
幾つかのWordPressの独自テーマを開発してきましたが、投稿日の時間を表示させる方法がわからず、
print get_the_date().' '.the_time();
というソースを書いていました。
ところが、管理画面から日付のフォーマットを変更すれば、「get_the_date()」関数だけで取得できることがわかりました。
なんてアホなんだー!!!!!
ということで、本日はそんなアホなことを繰り返さないよう、自らへの戒めとして記事に残しておきたいと思います。
対応方法
作業する前に、事象の確認です。
いつものようにテストページに記事を用意しましたが、すでに対応済みなので以下の画面キャプチャで投稿日がデフォルトの「yyyy/MM/dd」であることを確認します。
管理画面にログインし、左のメニューにある「設定」から「一般」をクリックします。
「日付のフォーマット」でカスタムを指定し、テキストフィールドに「Y/m/d/ h:i:s」と入力し設定を保存します。
なお、今回は投稿日を秒まで指定して表示させたいので 「Y/m/d/ h:i:s」としていますが、曜日や24時間単位、また西暦を下二桁にするなど、いろいろ指定できますので、詳しくは以下を参考にしてください。
引用元:http://wpdocs.osdn.jp/Formatting_Date_and_Time
保存後、日付のフォーマットのカスタムの一番右が「yyyy/MM/dd/ HH:mm:ss」になっていれば完了です。
記事一覧を表示すると投稿時間が秒まで表示されていることが確認できます。
最後に
投稿日・投稿時間を一緒に表示するケースしかないというユーザにとっては、ひとつにまとめてほしいと思うかと思います。
投稿日・投稿時間を分けたいケースってどういう時だろうか、と利用シーンを探って見たところ、Gmailがありました。
Gmailのメール受信日時は、当日は時間表示だが、前日以降は日付表示だけになってしまい、目的のメールを探しづらいという声が上がっており、今現在も解決されていません。
(マウスオーバーすれば表示されるんですけどね)
僕自身は必要に迫られたことがないのでわかりませんが、もしGmailのような表示をする際には、投稿日と投稿時間が分かれていたほうが使いやすいと思います。
仮に、投稿日時・時間が一緒に表示される仕様だった場合、「split()」などの関数を使って表示させるなどひと手間加える必要があります。
WordPressは汎用的に使えるようにするために、あらゆるユースケースをイメージして機能拡張されているのだなぁとあらためて感じました。
これからもWordPressのお世話になる予定なので、ちょっと寄付でもしようかななんて思ったり思ってなかったり。。。
コメント一覧
最初の突っ込みめちゃ笑えました。それだけです。ありがとうございます。
投稿日にどうしても時刻を載せる必要があり、2日間 PHPをいじっても出来なく途方に暮れていました。
ブログ主様のお陰で、一瞬で時刻が表示しました。ありがとうございます!心から感謝いたします。