WordPressの記事内に、コメントの一覧を表示させようと思って wp_list_comments を書いたけれどもコメントが表示されないとき。
原因は、wp_list_commentsを、comments.php など、comments_templateを使って呼び出したテンプレート以外で使っているからです。
comments_templateをつかって、コメントのテンプレートファイルを呼び出す(デフォルトはcomments.php)ときに、あらかじめコメントが呼び出されて、そのコメントを表示する関数が wp_list_comments というわけです。
つまり、wp_list_commentsは、コメント一覧を表示する関数であって、コメントを呼び出す作業が別に必要ということです。
wp_list_comments をcomments_tempalteで呼び出すテンプレート以外で使うとき
$comments_arg=array( 'post_id'=>$post->ID, ); $list_arg=array( /*wp_list_commentsのパラメータ*/ ); wp_list_comments(array(),get_comments($comments_arg));
という感じになります。
- get_commentsにもいろいろパラメータを設定できます。
- post_idは、そのコメントが紐づけられている投稿のIDです。もちろんループ以外だったりのときはpost_idの値取得方法は変わりますね
- wp_list_commentsのパラメータはお好みで設定してください。
参考
以上。
wp_list_comments() でコメントが表示されないときの対処方法でした。
こっから先はあんまり関係ない話
WordPressでサイト作る人、特に「仕事」として作る場合って、圧倒的にコーポレイトサイトが多いじゃないですか。
そうすると、当然ながらコメント関連の機能は殺しますよね。
企業サイトで、コメント機能を生かしているところってあまり見かけませんから。
また、コメント機能をつけるにしても、最近ならFacebookなどのソーシャルなコメント機能と簡単に連携できますから、そっちでコメント書いてもらったりシェアしてもらった方がオイシイ事も多いわけで・・・
それでなのかどうかわからないですけど、Wordpressの事を調べるときに、コメント関連のカスタイマイズとかの情報って、記事やテンプレート等のそれに比べて少ないと思いませんか?
気のせいかもしれませんが・・・
実は、今をさかのぼる事4年前、まだ私が、ほぼ個人事業主として活動していた頃にあるブログ記事を書きました。
http://www.genki-works.com/2011/03/02/wp_list_comments でコメントが表示されない/
↑ それがコレです。
ところが、自分で書いておいてすっかり忘れてしまっておりまして、最近まったく同じ状況で「wp_list_comments書いてるのにコメントでないじゃん!」ってハマってしまいました。
で、いつものようにGoogle先生で調べていましたら下記の記事が見つかったわけです。
https://ja.forums.wordpress.org/topic/23248
これをヒントに、wp_list_commentsの第二引数や、get_commentsに辿りつき、解決に至ったわけです。
で、「いやあ、助かった、、、これ書いてくれた人、回答してくれた人に感謝ですな。」なんて思いつつ・・・
「お、何か元記事があるぞ。<このページと同じ現象がおきています>だって? よの中には同じようなことで悩んでいる人がいるものだな。この元記事の人は解決したんかいな?教えてあげようかな。。」
なんて思ってリンクをたどってみると・・・
「俺じゃん!」
ってなってしまったわけです。
いやあ、これ、マジ恥ずかしいです。
そして、元記事の俺、なんかスゲー適当な事を解決方法みたいにして書いてるし。。。うわーうわーうわー・・・・
ってなりながら、今ブログ書いてます。
4年前に書いたことが、巡り巡って今日の悩みを解決してくれたことになんだかドラマチックだなとか、やっぱりネットっておもしれーなとか感じながら、(お前、自分で書いた記事くらい覚えとけや)という心の声が、やっぱり恥ずかしい今日この頃。
あとで、昔のブログもなおしておかないとな・・・