コメント投稿のある記事一覧・その記事に対するコメント一覧 の作成
-
[ 目的 ] : コメント投稿のある記事一覧・その記事に対するコメント一覧 の作成
[ 状況例 ] :
- 記事 [1], [2], [4] にコメント投稿があり、記事 [3] にはコメント投稿がない
- コメントがある記事のみ、一覧に表示する
- 記事一覧の表示の際に、各記事に投稿されたコメントの投稿者名をリンク付きで一覧表示する
[ 表示させたい生成ソース ] :
<p class="entry-name"><a href="記事 [4] のURL">記事 [4] タイトル</a></p> <p class="comment-author">・<a href="記事 [4] のURL#comment_2">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [4] のURL#comment_4">コメント投稿者名</a></p> <p class="entry-name"><a href="記事 [2] のURL">記事 [2] タイトル</a></p> <p class="comment-author">・<a href="記事 [2] のURL#comment_3">コメント投稿者名</a></p> <p class="entry-name"><a href="記事 [1] のURL">記事 [1] タイトル</a></p> <p class="comment-author">・<a href="記事 [1] のURL#comment_1">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [1] のURL#comment_5">コメント投稿者名</a></p>
[ 自分で考えた テンプレートソース ] :
<?php if( have_posts() ) : while( have_posts() ) : the_post(); if( have_comments() ) : ?> <p class="entry-name"> <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"> <?php the_title_attribute(); ?> </a> </p> <?php foreach ( $comments as $comment ) : ?> <p class="comment-author"> ・<a href="<?php the_permalink(); ?>#comment_<?php comment_ID(); ?>"> <?php comment_author(); ?> </a> </p> <?php endforeach; php endif; endwhile; endif; ?>
[ 実行結果 ] :
<p class="entry-name"><a href="記事 [4] のURL">記事 [4] タイトル</a></p> <p class="comment-author">・<a href="記事 [4] のURL#comment_1">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [4] のURL#comment_2">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [4] のURL#comment_3">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [4] のURL#comment_4">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [4] のURL#comment_5">コメント投稿者名</a></p> <p class="entry-name"><a href="記事 [3] のURL">記事 [3] タイトル</a></p> <p class="comment-author">・<a href="記事 [3] のURL#comment_1">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [3] のURL#comment_2">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [3] のURL#comment_3">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [3] のURL#comment_4">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [3] のURL#comment_5">コメント投稿者名</a></p> <p class="entry-name"><a href="記事 [2] のURL">記事 [2] タイトル</a></p> <p class="comment-author">・<a href="記事 [2] のURL#comment_1">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [2] のURL#comment_2">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [2] のURL#comment_3">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [2] のURL#comment_4">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [2] のURL#comment_5">コメント投稿者名</a></p> <p class="entry-name"><a href="記事 [1] のURL">記事 [1] タイトル</a></p> <p class="comment-author">・<a href="記事 [1] のURL#comment_1">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [1] のURL#comment_2">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [1] のURL#comment_3">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [1] のURL#comment_4">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [1] のURL#comment_5">コメント投稿者名</a></p>
自分なりに考えたソースで実行してみました。
ですが、どうも have_posts() という関数が、
「ある記事に対してコメントがあるかどうか?」 の判定ではなく、
「ブログ全体を通してコメントがあるかどうか?」 という判定のような気がします。元々は、下記のソースのように、コメントがある記事を表示し、
その記事に対するコメントの一覧を表示したいです。しかし、試しに作ってみたソースで実行したところ、
どの記事にコメントがあったか関係なく、
元々記事のない記事にさえもコメント一覧が表示されてしまっています。[ 表示させたい生成ソース ] :
<p class="entry-name"><a href="記事 [4] のURL">記事 [4] タイトル</a></p> <p class="comment-author">・<a href="記事 [4] のURL#comment_2">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [4] のURL#comment_4">コメント投稿者名</a></p> <p class="entry-name"><a href="記事 [2] のURL">記事 [2] タイトル</a></p> <p class="comment-author">・<a href="記事 [2] のURL#comment_3">コメント投稿者名</a></p> <p class="entry-name"><a href="記事 [1] のURL">記事 [1] タイトル</a></p> <p class="comment-author">・<a href="記事 [1] のURL#comment_1">コメント投稿者名</a></p> <p class="comment-author">・<a href="記事 [1] のURL#comment_5">コメント投稿者名</a></p>
長い文章になりましたが、指南いただけないでしょうか?
どうかお願い致します。
6件の返信を表示中 - 1 - 6件目 (全6件中)
6件の返信を表示中 - 1 - 6件目 (全6件中)
- トピック「コメント投稿のある記事一覧・その記事に対するコメント一覧 の作成」には新たに返信することはできません。