Показываем trackback/pingbacks отдельно
Равняйсь. Стройсь. Комменты — направо, пингбэки, трекбэки — налево :)
Не знаю как кому, а лично мне не нравится когда идут вперемешку комменты и пинг-/трекбэки. Почитывая блоги, заметил — что у некоторых они показываются отдельно. Ессно сразу же кинулся искать — как сделать себе такое полезное улучшение. Задумка вполне выполнима. Но делается, не то что бы легко и сразу, плагином например, но делается. Не буду писать что, где и когда — делал давно, уже не помню. Перейдем сразу к выполнению.
1. Комментарии
Обобщенная структура комментариев. Просто показываем комментарии. Без классов, без вставок.
<ul>
<?php foreach ($comments as $comment) :
if (get_comment_type() == "comment") : ?>
<li><?php comment_text() ?></li>
<?php endif; endforeach; ?>
</ul>
2. Пингбэки и Трекбэки (pingback and trackback)
Это тот код который я нашел в процессе поиска.
<ol>
<?php foreach ($comments as $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php } ?>
<?php endforeach; ?>
</ol>
В принципе суть ясна. Есть комментарии, проверяем их тип — если тип коммента не коммент, значить пинг или трекбэк. Раз пингбэк — значить показываем. Все гениальное — просто. А вот хрен. Не пашет. Кароче опять таки причину и суть «неработы» не помню — давно было. Ну не важно — главное, что не пашет.
Давай опять копаться. Нашел на офф.сайте WP в Plugin Directory вот такой плагин — Trackping Separator
Поставил. Активировал. Все нормально. Хоть там и написано, что типа для версии 2.0.2, но у меня сейчас нормально работает и на версии 2.7.
Почитав FAQ по Trackping Separator
Внес нужные дополнения-изменения себе в comments.php. И чудо — все работает как надо.
Что к чему — ниже код с пояснениями
<?php if ( $comments ) : ?>
<ul>
<?php foreach ($comments as $comment) : ?>
<?php if (get_comment_type() == "comment") { // Выбираем только комментарии
## SHOW ONLY COMMENTS
?>
<li><?php comment_text() ?></li> //Показываем комментарии
<?php
} ## SHOW ONLY COMMENTS //Закрываем выборку только комментариев
?>
<?php endforeach; /* end for each comment */ ?>
</ul>
<?php endif; ?>
// А вот в этом блоке мы будем показывать пингбэки
<?php if ($trackbacks = trackpings()) : ?> //Если есть trackback значить показываем
<h3>Trackback / Pingbacks</h3>
<ul>
<ul><?php listtrackpings(); ?></ul> //Просто показываем их все да и всё.
</ul>
<?php endif; ?>
Исходя из документации можно накрутить поболее.
%id — уникальный идентификатор трекбэка/пингбэка.
%url — URL ресурса отправившего трекбэк/пингбэк.
%origin — название статьи сайта отправителя.
%date — дата и время трекбэка/пингбэка.
%content — отрывок из статьи сайта отправителя трэкбека.
Вот такой код к примеру.
<h3>Trackback / Pingbacks - <?php echo trackpings('count'); ?></h3>
<ul>
<?php listtrackpings('trackback', '<li id="trackback-%id"><span><a href="%url" rel="nofollow" title="%origin">%origin</a></span><br />
(Trackback, %date)</li>'); ?>
<?php listtrackpings('pingback', '<li id="trackback-%id"><span> <a href="%url" rel="nofollow" title="%origin">%origin</a></span><br />(Pingback, %date)</li>'); ?>
</ul>
<?php endif; ?>
Как работает можно наблюдать на этом блоге. В частности внизу этой страницы.
Ну вот собственно и все. Разделяй и радуйся (с) :) Будут вопросы — пишите, подскажу, помогу.
- Opera - добавляем свои поисковые ресурсы » rizloff - раздаю все свое умение и опыт
(Pingback, 16 Дек 2008)
Трекбэк и пингбэк используются для рассылки спама и никакой пользы от них нет