概要
get_comment_time
フィルタは、コメント投稿日時を取得する際に使用されるフィルタです。このフィルタは、WordPress内でコメントの日付の表示形式を変更したり、特定の条件に基づいてカスタマイズしたりするために利用されることがよくあります。具体的には、以下のような機能実装で使われることが一般的です:
- コメントの投稿日時にカスタムフォーマットを適用する。
- コメント日時に対するローカライズ(言語による変更)を行う。
- 投稿者のタイムゾーンに関連する日時の表示に使用する。
- コメント日時の前後に追加情報(例:コメントの状態)を表示する。
- コメント日時を他の情報と組み合わせて表示する。
- 特定の条件に基づいてコメント日時をフィルタリングする。
- コメントが特定の状態にある場合にフォーマットを変更する。
- 記事の投稿日とコメント日時を比較するために利用する。
構文
apply_filters( 'get_comment_time', string $the_time, string $d, WP_Comment $comment );
パラメータ
$the_time
(string): フィルタ前のコメント時間。$d
(string): 日付フォーマット。$comment
(WP_Comment): 対象のコメントオブジェクト。
戻り値
フィルタによって変更されたコメントの投稿日時を返します。
関連する関数
使用可能なバージョン
WordPress 1.5 以降
コアファイルのパス
wp-includes/comment-template.php
サンプルコード
サンプルコード1: カスタム日付フォーマットの適用
add_filter('get_comment_time', function($the_time, $d, $comment) {
return date('Y-m-d H:i', strtotime($the_time));
}, 10, 3);
このサンプルコードは、コメントの投稿日時を「年-月-日 時:分」形式に変更するフィルタを追加します。
サンプルコード2: コメント日時のローカライズ
add_filter('get_comment_time', function($the_time, $d, $comment) {
return date_i18n(get_option('date_format'), strtotime($the_time));
}, 10, 3);
このサンプルコードは、WordPressの設定に基づいて日付をローカライズして表示します。
サンプルコード3: 特定のコメントに対するフォーマットの変更
add_filter('get_comment_time', function($the_time, $d, $comment) {
if ($comment->comment_author == '特定のユーザー名') {
return '特別な日時: ' . $the_time;
}
return $the_time;
}, 10, 3);
このサンプルは、特定のユーザー名のコメントに対して独自のフォーマットで日時を表示します。
サンプルコード4: タイムゾーンの考慮
add_filter('get_comment_time', function($the_time, $d, $comment) {
$timezone = get_option('timezone_string');
date_default_timezone_set($timezone);
return date('Y-m-d H:i', strtotime($the_time));
}, 10, 3);
このサンプルコードでは、コメントの投稿日時をその時のタイムゾーンに基づいて調整します。
サンプルコード5: コメントの状態による表示形式の変更
add_filter('get_comment_time', function($the_time, $d, $comment) {
if ($comment->comment_approved == '0') {
return '承認待ち: ' . $the_time;
}
return $the_time;
}, 10, 3);
ここでは、承認待ちのコメントに特別なメッセージを付加して表示しています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
非推奨または削除されたバージョン
現在のところ、get_comment_time
フィルタは非推奨または削除されたバージョンはありません。