概要
get_comment_author_url
フィルタは、コメント投稿者のURLを取得する際に使用されるフィルタです。このフィルタを利用することで、コメントの投稿者のURLをカスタマイズしたり、条件に応じて変更したりすることができます。以下は、一般的にこのフィルタが用いられるケースです。
- コメント投稿者のURLを特定の条件によって変更する。
- 外部リンクとして、特定のドメインのみを許可する。
- URLに特定のパラメータを追加する。
- セキュリティ目的でリンクをカスタマイズ(例:nofollowを追加)。
- コメント投稿者のURLを短縮URLに変更する。
- 特定のユーザーグループによるURLのカスタマイズ。
- 投稿者のロールに応じたメッセージを表示するための条件付きリンク。
- コメントの表示スタイルを変更する際に利用する。
構文
add_filter('get_comment_author_url', 'callback_function_name', 10, 2);
パラメータ
$author_url
: コメント投稿者のURL$comment
: コメントオブジェクト
戻り値
- フィルタを通過したコメント投稿者のURL(
string
)
関連する関数
https://refwp.com/?titleonly=1&s=get_comment_author_url
使用可能なバージョン
このフィルタは、WordPress 1.5.0以降で利用可能です。
コアファイルのパス
wp-includes/comment.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: URLを特定のドメインに制限する
add_filter('get_comment_author_url', 'limit_comment_author_url', 10, 2);
function limit_comment_author_url($author_url, $comment) {
if (!preg_match('/^https?://(example.com|example.org)/', $author_url)) {
return 'https://example.com';
}
return $author_url;
}
このサンプルは、コメント投稿者のURLが example.com
または example.org
でない場合、デフォルトで https://example.com
を返します。
サンプル 2: URLにnofollow属性を追加する
add_filter('get_comment_author_url', 'add_nofollow_to_comment_url', 10, 2);
function add_nofollow_to_comment_url($author_url, $comment) {
return '<a href="' . esc_url($author_url) . '" rel="nofollow">' . esc_html($author_url) . '</a>';
}
このサンプルコードは、コメント投稿者のURLに nofollow
属性を追加します。
サンプル 3: URLを短縮URLに変換する
add_filter('get_comment_author_url', 'shorten_comment_author_url', 10, 2);
function shorten_comment_author_url($author_url, $comment) {
return 'https://short.url/' . base64_encode($author_url);
}
このサンプルでは、コメント投稿者のURLを短縮形式に変換し、Base64エンコードを追加します。
サンプル 4: 条件に応じた異なるURLを返す
add_filter('get_comment_author_url', 'conditional_comment_url', 10, 2);
function conditional_comment_url($author_url, $comment) {
if (is_user_logged_in()) {
return 'https://loggedin.example.com';
}
return 'https://guest.example.com';
}
このコードは、ユーザーがログインしているかどうかに基づいて異なるURLを返します。
サンプル 5: URLをカスタムパラメータ付きで返す
add_filter('get_comment_author_url', 'custom_param_comment_author_url', 10, 2);
function custom_param_comment_author_url($author_url, $comment) {
return $author_url . '?source=comment';
}
このサンプルは、コメント投稿者のURLに ?source=comment
というパラメータを追加します。