WordPressのコメントとトラックバックを分けて表示させる

コメントをいろいろと書いてくださって
ちょっと見にくくなったコメント欄なんですが、
やはりコメントとトラックバックを分けたほうが見やすいかと。

いろいろとプラグイン等があるようですが、ここは自力で何とかしてみました。

comment.phpの一部を下記のように変更。

PHP:
  1. <?php
  2. #コメントとトラックバックを分ける
  3. if ($comments){
  4. foreach ($comments as $comment){
  5. if($comment->comment_type == "trackback"){
  6. $responses[trackback][] = $comment;
  7. } elseif($comment->comment_type == "pingback"){
  8. #$responses[pingback][] = $comment;
  9. $responses[trackback][] = $comment;
  10. } else {
  11. $responses[comment][] = $comment;
  12. }
  13. }
  14. unset($comments);
  15. $comments   = $responses[comment];
  16. $trackbacks = $responses[trackback];
  17. #$pingbacks = $responses[pingback];
  18. }
  19. ?>
  20.  
  21. <!-- comment -->
  22. &lt;?php if ($comments) : ?&gt;
  23. <h3 id="comments">comments (&lt;?= count($comments) ?&gt;)</h3>
  24. <ol id="commentlist"> &lt;?php foreach ($comments as $comment) : ?&gt;
  25. <li id="comment-&lt;?php comment_ID() ?&gt;">&lt;?= comment_text() ?&gt;
  26. <p class="meta"> &lt;?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?&gt; by &lt;?php comment_author_link() ?&gt; |
  27. &lt;?php comment_date() ?&gt; &lt;?php comment_time() ?&gt;
  28. &lt;?php edit_comment_link(__("Edit This"), ' |'); ?&gt;</p></li>
  29. &lt;?php endforeach; ?&gt;</ol>
  30. &lt;?php endif; ?&gt;
  31. <!-- /comment -->
  32.  
  33. <!-- trackback &#038; pingback -->
  34. &lt;?php if ($trackbacks) : ?&gt;
  35. <h3 id="trackbacks">trackbacks &amp; pingbacks (&lt;?= count($trackbacks) ?&gt;)</h3>
  36. <ol id="trackbacklist"> &lt;?php foreach ($trackbacks as $comment) : ?&gt;
  37. <li id="comment-&lt;?php comment_ID() ?&gt;">&lt;?= comment_text() ?&gt;
  38. <p class="meta"> &lt;?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?&gt; by &lt;?php comment_author_link() ?&gt; |
  39. &lt;?php comment_date() ?&gt; &lt;?php comment_time() ?&gt;
  40. &lt;?php edit_comment_link(__("Edit This"), ' |'); ?&gt;</p></li>
  41. &lt;?php endforeach; ?&gt;</ol>
  42. &lt;?php endif; ?&gt;
  43. <!-- /trackback &#038; pingbacks -->

wordpressにはpingbackというものもあるんですがtrackbackと同類扱いで処理。

Tags: , ,

関連記事:

この記事は参考になりましたか? 3.6 (5件)
Loading ... Loading ...

trackbacks & pingbacks (3)

  1. 2007/04/30 09:24:08 サーログ

コメントをどうぞ

Name:
Email:
Url:
Comment: