comment_time()

comment_time()
目次

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') に従う。
$gmttrue にするとGMT(協定世界時)を基準にする。通常は false
$translatetrue にするとロケール翻訳を行う。

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は翻訳機能を持っており、曜日などがローカル言語に翻訳される場合があります。
たとえば曜日付きのフォーマットを指定するとき、$translatetrue にすることで日本語化されます。

例:

<?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や構造化データを整備したりするのに不可欠なタグです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次