概要
get_comment_author
フィルタは、コメント投稿者名を取得する際に利用される WordPress のフィルターフックです。このフィルタは、コメントの投稿者名をカスタマイズするためによく使用され、様々な用途に展開することができます。一般的にこのフィルタは以下の用途に使われます:
- 投稿者名のフォーマットを変更する
- 特定の条件に基づいて投稿者名をマスクする
- 特定のユーザーに別の表示名を割り当てる
- 自動的に編集したユーザー名を付加する
- 特定の文字列で投稿者名を置き換える
- コメント投稿者に特定の属性を加える
- 多言語サイトにおける投稿者名の翻訳
- スパムや不適切な投稿者名をフィルタリングする
構文
apply_filters('get_comment_author', $author, $comment_ID);
パラメータ
$author
: コメントの投稿者名(文字列)。$comment_ID
: コメントの ID(整数)。
戻り値
- フィルタによって変更されたコメントの投稿者名(文字列)。
関連する関数
https://refwp.com/?titleonly=1&s=get_comment_author
使用可能なバージョン
get_comment_author
フィルタは WordPress のすべてのバージョンで利用可能です。
コアファイルのパス
wp-includes/comment-template.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 | 〇 |
サンプルコード
サンプル1: 投稿者名のカスタマイズ
function custom_comment_author($author, $comment_ID) {
return 'カスタム名: ' . $author;
}
add_filter('get_comment_author', 'custom_comment_author', 10, 2);
このコードは、コメントの投稿者名の前に「カスタム名: 」を付け加えます。これにより、全てのコメント投稿者名が変わります。
サンプル2: 投稿者名のマスキング
function mask_comment_author($author, $comment_ID) {
return '****';
}
add_filter('get_comment_author', 'mask_comment_author', 10, 2);
このコードは、コメントの投稿者名を完全に隠すために「****」に置き換えます。プライバシーを保護する場合に便利です。
サンプル3: 特定のユーザー名の変更
function change_specific_author($author, $comment_ID) {
if (get_comment($comment_ID)->user_id == 1) {
return '特別ユーザー';
}
return $author;
}
add_filter('get_comment_author', 'change_specific_author', 10, 2);
このコードは、特定のユーザー(ユーザーID 1)のコメント投稿者名を「特別ユーザー」に変更します。
サンプル4: サイトの言語に応じた翻訳
function translate_comment_author($author, $comment_ID) {
if (is_rtl()) {
return 'مستخدم';
}
return 'User';
}
add_filter('get_comment_author', 'translate_comment_author', 10, 2);
このコードは、RTL(右から左)設定の場合にコメント投稿者名をアラビア語に翻訳します。
サンプル5: 投稿者名に追加情報を加える
function append_info_to_author($author, $comment_ID) {
return $author . ' (コメント日時: ' . get_comment($comment_ID)->comment_date . ')';
}
add_filter('get_comment_author', 'append_info_to_author', 10, 2);
このコードは、コメント投稿者名の後にコメント日時を追加します。これにより、表示される情報が増えます。