comment_author()
は、特定のコメント投稿者の名前を表示するテンプレートタグです。WordPressテーマの comments.php
ファイルで使用され、各コメントの投稿者名を取得して出力します。
機能の説明
comment_author()
は、コメントの投稿者名を表示するためのタグです。このタグを使うことで、個々のコメントの投稿者が誰かを簡単に表示できます。コメントのループ内で使用するのが一般的です。
シンプルなコード例
<?php comment_author(); ?>
現在のコメントの投稿者名を表示します。主に comments.php
内で、コメントループの中で使用されます。
使い方の解説
comment_author()
は、主にコメント一覧のテンプレート (comments.php
) 内で利用されます。- 各コメントごとに呼び出され、該当コメントの投稿者名を出力します。
- 文字列を返すのではなく、そのまま出力するため、出力を一時的に保存したい場合は
get_comment_author()
を使用します。
使用例
<ul class="comment-list">
<?php
wp_list_comments([
'callback' => function ($comment, $args, $depth) {
?>
<li>
<strong><?php comment_author(); ?></strong>
<p><?php comment_text(); ?></p>
</li>
<?php
}
]);
?>
</ul>
このコードでは、wp_list_comments()
のコールバック関数内で comment_author()
を使用し、コメント投稿者の名前を <strong>
タグで囲んで表示しています。
一緒に使うことが多い関連タグ
get_comment_author()
このタグは、コメント投稿者の名前を文字列として取得するバージョンです。
<?php
$author = get_comment_author($comment_id);
echo '<p>投稿者: ' . esc_html($author) . '</p>';
?>
get_comment_author()
は、comment_author()
と異なり、出力するのではなく文字列を返します。このため、echo
で表示する必要があります。
comment_text()
comment_text()
は、特定のコメントの本文を表示します。
<li>
<strong><?php comment_author(); ?></strong>
<p><?php comment_text(); ?></p>
</li>
このコードでは、comment_author()
と comment_text()
を組み合わせて、各コメントの投稿者名とコメント内容を表示しています。
get_comment_date()
get_comment_date()
は、コメントが投稿された日付を取得します。
<p><?php echo get_comment_date('Y年m月d日'); ?></p>
このコードは、指定されたフォーマット(例:Y年m月d日
)でコメントの日付を表示します。
追加情報を取得したい場合
投稿者のURLやメールアドレスを取得
comment_author_url()
や comment_author_email()
を使うと、投稿者のURLやメールアドレスも表示できます。
<p>投稿者: <a href="<?php comment_author_url(); ?>"><?php comment_author(); ?></a></p>
このコードでは、投稿者のURLが設定されている場合にリンクとして名前を表示します。
get_comment_author_email()
で取得できる情報
<?php echo get_comment_author_email(); ?>
このコードでコメント投稿者のメールアドレスを取得できます。
そのテンプレートタグで出力できる情報
- email:投稿者のメールアドレス
- name:投稿者名
- url:投稿者のウェブサイトURL(設定がある場合)
想定されるトラブル
投稿者名が表示されない
コメント投稿者が匿名でコメントしている可能性があります。
解決方法
コメントフォームで「名前の入力を必須」にする設定を有効にします。
トラブル2: HTMLエスケープが必要な場合
投稿者名が不正なHTMLを含んでいる可能性があります。
解決方法
esc_html()
関数を使って、出力をエスケープします。
<?php echo esc_html(get_comment_author()); ?>
Q&A
まとめ
comment_author()
は、コメント投稿者名を表示するための基本的なテンプレートタグです。
comments.php
で使用され、comment_text()
や get_comment_date()
などの関連タグと組み合わせて使うことで、コメントの表示を柔軟にカスタマイズできます。
また、セキュリティの観点からは、esc_html()
でのエスケープも考慮する必要があります。
コメント