wp_list_comments()
は、WordPressで 投稿やページに付けられたコメントのリストを表示 するテンプレートタグです。
独自のHTML構造で出力され、コメントの スタイリングやカスタマイズ を簡単に行えます。
機能の説明
wp_list_comments()
は、 現在の投稿やページに付けられたコメントを一覧表示 します。- 出力されるHTML構造は、
<ul>
や<li>
タグ が基本で、スタイルの適用がしやすいです。 - 引数に
callback
を指定することで、 独自のコメント表示形式 に変更できます。
シンプルなコード例
<?php wp_list_comments(); ?>
上記の例では、WordPressの デフォルトのHTML構造 でコメントを一覧表示します。
使い方の解説
wp_list_comments()
は、通常comments.php
ファイル 内で使用されます。- このタグは、 現在の投稿やページのコメントが自動的に取得される 仕組みになっています。
- オプション引数で カスタムコールバック関数やHTML構造を変更 することが可能です。
使用例
wp_list_comments(array(
'style' => 'ul',
'short_ping' => true,
'avatar_size' => 50,
));
上記のコードでは、 コメントをリスト形式で表示し、アバターのサイズも調整 しています。
style
: コメントのリスト形式を指定(この場合は<ul>
)。short_ping
: ピンバック・トラックバックを簡略表示する設定です。avatar_size
: コメント投稿者のアバターのサイズを設定(50px)。
一緒に使うことが多い関連タグ
wp_list_pages()
wp_list_pages()
は、 ページ一覧 をリスト表示するテンプレートタグです。
コメントと一緒に サイト内のナビゲーション用ページ一覧 を表示する場合に使用します。
wp_list_pages(array(
'title_li' => '',
'exclude' => '42',
));
wp_list_comments();
wp_list_pages()
で ページ一覧 を表示し、その下に wp_list_comments()
でコメントを一覧表示する例です。
get_comments()
get_comments()
は、 指定した条件に一致するコメントを取得 するテンプレートタグです。
wp_list_comments()
の出力前に 取得するコメントをカスタマイズしたい場合 に使用します。
$comments = get_comments(array(
'post_id' => get_the_ID(),
'status' => 'approve',
));
wp_list_comments(array(
'callback' => 'my_custom_comments',
), $comments);
get_comments()
で特定の投稿の承認済みコメントを取得しています。wp_list_comments()
に コールバック関数my_custom_comments()
を指定することで、出力のカスタマイズも可能です。
追加情報を取得したい場合
get_avatar()
でコメント投稿者のアバターを取得
wp_list_comments()
によるコメント表示時、 get_avatar()
を使用することで 投稿者のアバターを個別に取得 できます。
echo get_avatar(get_comment_author_email(), 64);
get_avatar()
で コメント投稿者のメールアドレスからアバター画像 を取得し、表示します。
出力できる情報
- email: コメント投稿者のメールアドレス
- size: アバター画像のサイズ(ピクセル単位)
- default: デフォルトアバター画像のURL
想定されるトラブル
コメントが表示されない
- 該当する投稿にコメントがないか、コメントが承認されていない。
- テーマに
comments.php
が存在しない場合。
解決方法
- コメントがあるか 確認する。
- 必要であれば
comments.php
ファイルを作成 し、wp_list_comments()
を配置。
カスタムコールバックが機能しない
指定した コールバック関数の記述ミス が原因でエラーが発生することがあります。
解決方法
- コールバック関数が 正しいシグネチャで定義 されているか確認する。
- テンプレートタグが正しい位置にあるか確認。
Q&A
まとめ
wp_list_comments()
は、 コメント一覧をリスト形式で表示する便利なテンプレートタグ です。
カスタムコールバックを使用することで、 独自のデザインに適した出力 を行えます。
また、get_comments()
などの関連タグと組み合わせることで、 高度なコメント管理や表示制御 も可能です。
コメント