• Замовити просування сайту, пакет Старт

Как разделить комментарии и пингбэки в wordpress

В последнее время заметил, что в комментариях после постов абсолютно беспорядочно перемешиваются как комментарии оставленные людьми, так и автоматически сгенерированные движком пингбэки. Это выглядит не очень красиво и вообще затрудняет нормальное чтение блога. Поэтому я решил эту ситуацию исправить.

Для этого надо отредактировать шаблон вывода комментариев (файл comments.php) используемой вами темы wordpress.

Находим там строчку:

 <?php foreach ($comments as $comment) : ?>

И меняем на:

 <?php foreach ($comments as $comment) : ?>

 <?php $comment_type = get_comment_type(); ?>

 <?php if($comment_type == ‘comment’) { ?>

Таким образом, сначала будут отображаться комментарии.

Далее находим строчку:

 <?php endforeach; ?>

И меняем на:

 <?php } else { $trackback = true; }  ?>
<?php endforeach; ?>
 <?php if ($trackback == true) { ?>
 <!– здесь оформление пингбэков –>
<?php comment_author_link(); ?>
 <?php endforeach; ?>

Таким образом, ми вызвали отображение пингбеков, теперь они будут появляться после комментариев.

Оформлять пинги можете как вам угодно. У меня весь код оформления пингбэков/трекбэков выглядит так:

 <?php } else { $trackback = true; }  ?>
<?php endforeach; ?>
 <?php if ($trackback == true) { ?>
 <ol>
 <?php foreach ($comments as $comment) : ?>
 <?php $comment_type = get_comment_type(); ?>
 <?php if($comment_type != ‘comment’) { ?>
 <li><?php comment_author_link() ?> – <small><?php comment_text() ?> <?php edit_comment_link(‘(Edit)’,”,”); ?></small></li>
  <?php } ?>
 <?php endforeach; ?>
 </ol>

 

Результат такого разделения можно увидеть, к примеру, в комментариях к посту о том, какие ссылки лучше покупать.

Article 'Как разделить комментарии и пингбэки в wordpress' published on 28.01.2012, 14:07 in 'Blog, Sites Позначки:, , '. 1 comment

One thought on “Как разделить комментарии и пингбэки в wordpress

  1. А как вообще убрать поле Пингбэки с верхушки комментариев

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

3 + 5 =