12時間制の時刻表示はわかりにくい
投稿一覧の画面では、時刻が「6:27」のように表示されているのですけど、これだと午前なのか午後なのかわかりません。後ろに「PM」と付いているのでそこまで見れば午後だと分かりますが、ぱっと見た瞬間には分かりづらいです。日本語だと数字の前に「午前/午後」と付けるのが一般的ですが、英語表記が元だからか後ろについているのもわかりにくさの一員だと思います(日本人にとって)。
もっと判断に迷うのがこれです。
「12:27 AM」って昼なのか夜中なのか、どちらか悩みます。これに迷うのは私だけでしょうか?
これらは、24時間制で表記すれば一気に解決します。電車の時刻表示も24時間制ですよね(英語でのアナウンスや電光掲示板ではAM/PMを使った12時間制のようですけど)。
ちなみに、WordPressの投稿でも、公開日時設定は24時間制です。
これなら迷いませんよね。でも、どういうわけか、表示するときは12時間制になっています。
一貫性がありませんね。私の感覚では、これはバグだと思うのですけど。
投稿一覧には「一般設定」の時刻形式は反映されない
WordPressでは管理画面の「一般設定」で日時形式と時刻形式を設定できますよね。
このように24時間制に設定しているのですけど、ここの設定は記事などを表示するときの日時の表示形式にしか反映されないようです。上に書いたように、投稿一覧などでは12時間制で表示されてしまいます。
投稿一覧の時刻形式を変更する
こういうのをなんとかしたいなら、プラグインを探すと大抵は見つかりますが、これに関しては見つかりませんでした。見つけられなかっただけかもしれませんけど。
では、自分でコードを書くことになりますが、今は「自分」ではなくて、生成AIを使うという手もあります。早速、ChatGPTにこれを依頼してみました。
何度かやり取りしたので途中経過は省いて結果だけ示しますが、このようなコードを書いてくれました。
// 投稿一覧と固定ページ一覧の日時表示をカスタマイズ
function custom_post_date_format($h_time, $post) {
// 日時を 'Y-m-d H:i' 形式で表示
return date('Y-m-d H:i', strtotime($post->post_date));
}
add_filter('post_date_column_time', 'custom_post_date_format', 10, 2);
このコード自体もChatGPTに解説させて納得できたので採用です。これをfunctions.phpに書けば動くはずですが、テーマファイルはいじりたくないので、WP Codeプラグインを使ってスニペットにします。
その結果。
期待通りに24時間制での表示になりました。この方が元々の表記よりもずっとわかりやすいですよね。
日付・時刻は、Y-m-d H:iとしましたが、他の表記方法も指定できます。その方法は「一般設定」のものと同じです。詳しい説明はそこにリンク先にあります。これも一応掲載しておきます。
投稿一覧の日時表示を変えたいと思ったら試してみてください。固定ページ一覧も同じように24時間制の表記になります。唯一ならないのは、予約投稿にしたときの投稿画面のこの表示だけです。
これもなんとかしたいですけど、今のところその方法がわかりません。