WordPressのコメントとトラックバックを分けて表示させる
コメントをいろいろと書いてくださって
ちょっと見にくくなったコメント欄なんですが、
やはりコメントとトラックバックを分けたほうが見やすいかと。
いろいろとプラグイン等があるようですが、ここは自力で何とかしてみました。
comment.phpの一部を下記のように変更。
PHP:
-
<?php
-
#コメントとトラックバックを分ける
-
if ($comments){
-
foreach ($comments as $comment){
-
if($comment->comment_type == "trackback"){
-
$responses[trackback][] = $comment;
-
} elseif($comment->comment_type == "pingback"){
-
#$responses[pingback][] = $comment;
-
$responses[trackback][] = $comment;
-
} else {
-
$responses[comment][] = $comment;
-
}
-
}
-
$comments = $responses[comment];
-
$trackbacks = $responses[trackback];
-
#$pingbacks = $responses[pingback];
-
}
-
?>
-
-
<!-- comment -->
-
<?php if ($comments) : ?>
-
<ol id="commentlist"> <?php foreach ($comments as $comment) : ?>
-
<li id="comment-<?php comment_ID() ?>"><?= comment_text() ?>
-
<p class="meta"> <?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?> by <?php comment_author_link() ?> |
-
<?php comment_date() ?> <?php comment_time() ?>
-
<?php edit_comment_link(__("Edit This"), ' |'); ?></p></li>
-
<?php endforeach; ?></ol>
-
<?php endif; ?>
-
<!-- /comment -->
-
-
<!-- trackback & pingback -->
-
<?php if ($trackbacks) : ?>
-
<ol id="trackbacklist"> <?php foreach ($trackbacks as $comment) : ?>
-
<li id="comment-<?php comment_ID() ?>"><?= comment_text() ?>
-
<p class="meta"> <?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?> by <?php comment_author_link() ?> |
-
<?php comment_date() ?> <?php comment_time() ?>
-
<?php edit_comment_link(__("Edit This"), ' |'); ?></p></li>
-
<?php endforeach; ?></ol>
-
<?php endif; ?>
-
<!-- /trackback & pingbacks -->
wordpressにはpingbackというものもあるんですがtrackbackと同類扱いで処理。
Tags: comment, trackback, wordpress

3.6
(5件)




