
the_time()とは?
WordPress のテンプレートタグ the_time()
は、投稿または固定ページの「公開時刻(time)」を出力する関数です。the_date()
が「日付」に特化しているのに対し、the_time()
は「時間」に焦点を当てています。
the_time()の基本情報
the_time( string $format = '' )
the_time()の引数
パラメータ | 説明 | デフォルト |
---|---|---|
$format | 日時の書式(PHP の date() 関数形式) | get_option('time_format') |
the_time()の動作
- 指定された日時フォーマットに基づいて、投稿の「公開時刻(投稿日)」を出力(echo)します。
return
ではなくecho
なので、戻り値として使いたい場合はget_the_time()
を使用してください。
the_time()の使い方と出力例
the_time()の基本的な使用方法
<p>投稿時刻:<?php the_time(); ?></p>
設定 > 一般 > 時刻フォーマット
によって以下のように出力されます(例):
投稿時刻:14:20
カスタムフォーマットを指定する場合
<p>投稿時刻:<?php the_time('H:i'); ?></p>
H:i
→ 24時間形式(例:14:20)g:i A
→ 12時間形式 + 午前/午後(例:2:20 PM)
日付と組み合わせる例
the_time()
は「時間」だけでなく、日付も含むようにフォーマットすれば、日時の一括表示にも使えます。
<p>投稿日:<?php the_time('Y年n月j日 H:i'); ?></p>
出力例:
投稿日:2025年7月18日 14:20
the_time() の裏側:どこから情報を取っているか
この関数は、各投稿の post_date
フィールド(wp_posts
テーブル)から取得されます。つまり、その記事が「いつ最初に公開されたか」の日時を表示します。
the_time()
と the_date()
の違い
関数名 | 表示内容 | 同日投稿時の表示 | 主な用途 |
---|---|---|---|
the_time() | 投稿の「時間」 | 常に表示される | 時刻を表示したいとき |
the_date() | 投稿の「日付」 | 同じ日では2回目以降非表示になる(ループ内) | 日付見出しとして使うとき |
たとえば、同じ日に複数の投稿があると、the_date()
は最初の1件にしか表示されませんが、the_time()
は毎回表示されます。
the_time()のよくある使用場面
1. 投稿一覧に時刻を表示する
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div>
<h2><?php the_title(); ?></h2>
<p>投稿時刻:<?php the_time('H:i'); ?></p>
</div>
<?php endwhile; endif; ?>
2. 投稿日と更新日を比較して表示を切り替える
<?php if ( get_the_modified_time() !== get_the_time() ) : ?>
<p>更新:<?php the_modified_date('Y年n月j日') ?> <?php the_modified_time('H:i') ?></p>
<?php else : ?>
<p>公開:<?php the_time('Y年n月j日 H:i'); ?></p>
<?php endif; ?>
the_time()の注意点
1. エコー型なので変数に代入できない
// ❌ これは動作しない
$time = the_time('H:i');
代わりに、以下のように get_the_time()
を使います。
$time = get_the_time('H:i');
echo "投稿時刻は {$time}";
2. タイムゾーンの影響
出力される時刻は WordPress のタイムゾーン設定(設定 > 一般
)に依存します。サーバー側のタイムゾーンと異なる場合、ずれが生じることもあります。
関連関数との比較
関数名 | 内容 | echo型 or return型 | 対象 |
---|---|---|---|
the_time() | 投稿日の時刻を出力 | echo | 投稿日時 |
get_the_time() | 投稿日の時刻を取得 | return | 投稿日時 |
the_modified_time() | 最終更新時刻を出力 | echo | 更新日時 |
get_the_modified_time() | 最終更新時刻を取得 | return | 更新日時 |
the_date() | 投稿日の日付を出力 | echo | 投稿日 |
the_modified_date() | 最終更新日付を出力 | echo | 更新日 |
テーマでの応用:日付と時刻を同時表示
テンプレートファイルのメタ情報としてよくある記述です。
<p class="post-meta">
投稿日:<?php the_time('Y年n月j日 H:i'); ?>
</p>
あるいはカスタム投稿タイプのアーカイブやループでも同様に利用できます。
the_time()のまとめ
項目 | 内容 |
---|---|
関数名 | the_time() |
用途 | 投稿の「公開時刻」をテンプレート上に出力 |
引数 | 書式指定(PHP date() 形式) |
特徴 | the_date() と異なり、同日でも毎回出力される |
注意点 | 戻り値がないため、変数には代入できない |
代替 | 値を取得したい場合は get_the_time() を使用 |
the_time()
は地味ながら、投稿の鮮度や公開タイミングを明示するのにとても役立つ関数です。特にニュース系や速報性の高いブログでは、「何時に投稿されたか」が重要な情報になります。時間表示を適切にカスタマイズすることで、より信頼性のあるサイト作りにつながるでしょう。
テンプレートを編集する際には、the_time()
と the_date()
を組み合わせたり、get_the_time()
を使って条件分岐をしたりと、柔軟な活用を心がけましょう。