wp_list_comments()で出力されない時の見直しポイント

・comments_template()経由で呼び出されていない
・汎用的に呼び出す方法

wp_list_comments()を記述したテンプレートは、comments_template()経由で呼び出さないとダメというのがあります。通常はその路線で見直して修正すればよいかと思います。

comments_template()経由以外で呼び出したい場合は、wp_list_comments()に渡す引数を明示的に指定してあげる必要があります。

comments_template()経由で呼び出されていない

//NG
include(TEMPLATEPATH . '/comments.php');
//OK
comments_template();
wordpressでコメントが表示されない時の対処法
WordPress › Support » have_comments() HELP

comments_template()経由で呼び出してください

汎用的に呼び出す方法

$comments_arg=array(
  'post_id'=>$post->ID
);
wp_list_comments(array(),get_comments($comments_arg));

上記のようにすればOKです。

・wp_list_commentsには、2つめの引数がある
・comments_template経由で呼び出した場合は省略可能
・get_commentsで取得したコメント一覧データを指定する

wp_list_comments=>引数で渡されたコメントデータを成形して表示する
get_comments=>コメント一覧のデータ

役割としてはこのようになっているようです。

情報源:
「wp_list_comments() でコメントが表示されない」~4年前の悩みが時を超えて解決されるドラマチックというか、ほんとは恥ずかしい話~ – ブログ名つけてください。
Function Reference/wp list comments « WordPress Codex
Function Reference/get comments « WordPress Codex

スポンサーリンク

コメントを残す

メールアドレスは公開されません。
また、コメント欄には、必ず日本語を含めてください(スパム対策)。