
目次
comment_author_url()の用途
comment_author_url()
は、コメント投稿者が入力したウェブサイトのURLを出力する関数です。
コメントフォームの「ウェブサイト」欄に入力されたURLを、そのまま画面に表示します。
コメント欄で、投稿者のウェブサイトを紹介したい場合に利用します。
たとえば「投稿者名をクリックするとその人のウェブサイトに移動する」といったリンクを作るときに便利です。
comment_author_url()の使い方
基本的な使い方は、テンプレートタグを呼ぶだけです。
<?php comment_author_url(); ?>
これでURL文字列が出力されます。
たとえば「https://example.com」と入力されていれば、そのURLが表示されます。
取得だけしたい場合
URLを変数として取得するだけで出力しない場合は、次の関数を使います。
$url = get_comment_author_url();
この戻り値をもとに、自分でHTMLを組み立てられます。
投稿者名をリンクにする例
通常、投稿者の名前をURLにリンクする場合は、以下のように書きます。
<?php
$url = get_comment_author_url();
$name = get_comment_author();
if ($url) {
echo '<a href="' . esc_url($url) . '" rel="nofollow ugc">' . esc_html($name) . '</a>';
} else {
echo esc_html($name);
}
?>
esc_url()
はURLを安全に整形するesc_html()
は投稿者名をエスケープするrel="nofollow ugc"
はスパム対策の属性
関連する関数
comment_author()
- 投稿者の名前を表示する
comment_author_email()
- 投稿者のメールアドレスを表示する(公開には注意)
comment_author_link()
- 投稿者名をリンクにしたHTMLを自動で出力する
get_comment_author_url()
- 投稿者URLを取得だけする(出力しない)
comment_author_link()
はウェブサイトURLが設定されている場合、自動的にリンクを作ってくれる便利な関数です。
comment_author_url()の注意点
- 投稿者がURLを入力しなかった場合、空文字列が返ります。
- URLは自動で
esc_url()
が適用され、安全に処理されます。 - コメントスパム対策として、リンクを表示する場合は
nofollow
属性を付けましょう。