ワードプレスのget_comment_authorフィルタの使用方法・解説

概要

get_comment_author フィルタは、コメント投稿者名を取得する際に利用される WordPress のフィルターフックです。このフィルタは、コメントの投稿者名をカスタマイズするためによく使用され、様々な用途に展開することができます。一般的にこのフィルタは以下の用途に使われます:

  1. 投稿者名のフォーマットを変更する
  2. 特定の条件に基づいて投稿者名をマスクする
  3. 特定のユーザーに別の表示名を割り当てる
  4. 自動的に編集したユーザー名を付加する
  5. 特定の文字列で投稿者名を置き換える
  6. コメント投稿者に特定の属性を加える
  7. 多言語サイトにおける投稿者名の翻訳
  8. スパムや不適切な投稿者名をフィルタリングする

構文

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);

このコードは、コメント投稿者名の後にコメント日時を追加します。これにより、表示される情報が増えます。

この関数について質問する


上の計算式の答えを入力してください