概要
the_time
フィルタは、投稿時刻を表示するために使用されるフィルタです。主に、記事が作成された日時をカスタマイズして表示したい場合に利用されます。このフィルタを実装することで、以下のような機能を実現することができます。
- 日時のフォーマットを変更する
- 時間の前に特定の文字や記号を追加する
- 投稿時刻を異なるタイムゾーンで表示する
- 時刻の表示を「公開日時」から「更新日時」に変更する
- 特定の条件が満たされた場合のフォーマット変更
- 日付が特定の曜日や祝日であるかを確認する装飾表示
- 日時の後ろにコメント数などの情報を追加する
- 記事のメタデータとしての時間をカスタマイズする
構文
the_time( $format, $post_id );
パラメータ
$format
(string): 日時の表示フォーマット。date()
関数に対応。$post_id
(int): 投稿ID。省略した場合は現在の投稿が使用されます。
戻り値
- フィルタリングされた時刻文字列を返します。
関連する関数
使用可能なバージョン
- WordPress 1.5以降
コアファイルのパス
wp-includes/plugin.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | 〇 |
template_redirect | |
get_header | |
wp_head |
サンプルコード
-
カスタムフォーマットで投稿時刻を表示する
add_filter('the_time', function($time) { return date('Y-m-d H:i:s', strtotime($time)); });
- 説明:
the_time
フィルタを使い、投稿の作成日時をY-m-d H:i:s
形式で表示します。
- 説明:
-
投稿時刻の前に「投稿日: 」を追加
add_filter('the_time', function($time) { return '投稿日: ' . $time; });
- 説明: 投稿時刻の前に「投稿日: 」を追加することで、時刻表示を明確にします。
-
別のタイムゾーンで投稿時刻を表示
add_filter('the_time', function($time) { return mysql2date('Y-m-d H:i:s', $time, false); }, 10, 2);
- 説明: 投稿時刻をデフォルトのタイムゾーンから別のタイムゾーン(UTCなど)に変換して表示します。
-
更新日時として投稿時刻を表示
add_filter('the_time', function($time, $post) { if ($post->post_date != $post->post_modified) { return '更新日時: ' . $time; } return $time; }, 10, 2);
- 説明: 投稿が更新された日時を表示する条件付きで、更新された場合に「更新日時: 」と表示します。
-
特定の投稿タイプでのみ時刻をカスタマイズ
add_filter('the_time', function($time) { if (get_post_type() == 'post') { return '記事日時: ' . $time; } return $time; });
- 説明: 投稿タイプが「post」の場合に特定の前置きを追加し、他の投稿タイプではそのままの時刻を表示します。
すべてのサンプルコードは著作権フリーで使用できます。