
comment_time()とは?
comment_time()
は、コメントが投稿された時間を表示するためのテンプレートタグです。
「時間」とは、コメント日時の「時:分:秒」の部分を指し、comment_date()
と組み合わせて利用されることが多いです。
例えば、ブログのコメント欄に「2025年7月2日 14:35」といった情報を表示したい場合、
comment_date()
→ 日付部分comment_time()
→ 時刻部分
をそれぞれ取得して組み合わせます。
comment_time()の基本的な書式
comment_time( string $format = '', bool $gmt = false, bool $translate = true )
パラメータは3つあります。
パラメータ | 説明 |
---|---|
$format | 表示フォーマット(PHPの date() 書式)。空の場合は get_option('time_format') に従う。 |
$gmt | true にするとGMT(協定世界時)を基準にする。通常は false 。 |
$translate | true にするとロケール翻訳を行う。 |
comment_time()の使用例
最もシンプルな使い方は次のようにループ内で呼ぶだけです。
<?php comment_time(); ?>
これだけで、WordPress管理画面「設定」→「一般設定」で指定した時刻フォーマット(たとえば「H:i」など)に従って時刻を表示します。
comment_time()のフォーマットを指定する
独自の形式で表示したい場合は $format
を指定します。
例:
<?php comment_time('H:i:s'); ?>
これにより、コメント投稿時間が「14:35:22」のように「時:分:秒」で表示されます。
さらに12時間制にする場合は次のようにします。
<?php comment_time('g:i a'); ?>
この場合は「2:35 pm」のように出力されます。
$gmt
の利用
通常はローカルタイム(WordPressのタイムゾーン設定に基づく)で表示されますが、$gmt = true
にするとGMT基準に切り替わります。
例:
<?php comment_time('H:i:s', true); ?>
これはGMT時刻の「時:分:秒」を表示します。
$translate
の利用
WordPressは翻訳機能を持っており、曜日などがローカル言語に翻訳される場合があります。
たとえば曜日付きのフォーマットを指定するとき、$translate
を true
にすることで日本語化されます。
例:
<?php comment_time('l, H:i', false, true); ?>
「Wednesday, 14:35」のように曜日が翻訳される場合があります(テーマのロケールによる)。
comment_date()との組み合わせ
通常は「日付 + 時刻」をセットで表示するので、comment_date()
と組み合わせるケースが多いです。
例:
<p>
投稿日: <?php comment_date('Y/m/d'); ?> <?php comment_time('H:i'); ?>
</p>
これにより、「投稿日: 2025/07/02 14:35」と表示されます。
get_comment_time()との違い
似た名前の関数に get_comment_time()
があります。
関数 | 動作 |
---|---|
comment_time() | 時刻を表示する(echo する)。 |
get_comment_time() | 時刻を文字列で返す(出力しない)。 |
文字列として変数に格納したい場合は get_comment_time()
を使います。
例:
<?php
$time_str = get_comment_time('H:i:s');
echo 'コメント時間は ' . $time_str;
?>
comment_time()のフィルター
comment_time()
には最終的に get_comment_time()
が呼ばれ、そこで get_comment_time
フィルターが適用されます。
このフィルターを使うと、コメント時刻の出力を一括で変更できます。
例:
add_filter( 'get_comment_time', 'custom_comment_time', 10, 2 );
function custom_comment_time( $time, $format ) {
return $time . '(投稿時間)';
}
すべてのコメント時刻の後に「(投稿時間)」がつきます。
使用例のまとめ
例1: デフォルト表示
<?php comment_time(); ?>
例)「14:35」
例2: 秒まで表示
<?php comment_time('H:i:s'); ?>
例)「14:35:12」
例3: 12時間制・AM/PM
<?php comment_time('g:i a'); ?>
例)「2:35 pm」
例4: 日付と一緒に
<?php comment_date('Y年n月j日'); ?> <?php comment_time('H:i'); ?>
例)「2025年7月2日 14:35」
comment_time()の注意点
$format
に無効なフォーマットを指定すると空文字が返ることがあります。$gmt=true
を使うとタイムゾーンがずれるので注意。- フィルターで出力をカスタマイズするときは他のプラグインとの干渉に注意。
comment_time()の実用的なカスタマイズ例
曜日込みで日本語表示
<?php comment_time('Y年n月j日 (D) H:i'); ?>
例)「2025年7月2日 (水) 14:35」
HTML構造に組み込み
<time datetime="<?php comment_time('c'); ?>">
<?php comment_time('H:i'); ?>
</time>
datetime
属性にISO8601形式を指定し、HTML5マークアップで時間情報を提供できます。
comment_time()のまとめ
comment_time()
は、WordPressでコメント投稿時刻を表示するシンプルかつ柔軟な関数です。
ポイント
- フォーマットを自由に設定可能。
gmt
パラメータでタイムゾーン切替。- 翻訳に対応。
comment_date()
と組み合わせて日時表示。- フィルターでカスタマイズ。
コメント表示をデザインする際、投稿日時の精度を上げたり、RSSや構造化データを整備したりするのに不可欠なタグです。