Отделяем трекбеки от комментариев в wordpress
В wordpress существует 2 типа записей комментариев – сообщения, оставленные пользователями, и так называемые трекбэки (пингбэки). Последние появляются в блоге, когда какой-то другой блоггер ставит в своем посте ссылку на вашу статью. Как правило, в шаблонах разработчики совмещают эти два понятия, что приводит к небольшой путанице и неразберихе. Иногда при этом теряется нить обсуждения. Поэтому в данном посте я расскажу про то, как отделить трекбэки и пингбэки от самих комментариев.
Для начала небольшой наглядный пример: слева у нас список комментариев вместе с трекбеками, а справа разделенный. Он, как и большая поста статьи взят с оригинальной англоязычной статьи Separating Trackbacks And PingBacks From Comments In WordPress.

Зачем нужно разделение? Некоторые статьи в блоге могут собирать достаточно большое число трэкбеков, отодвигая при этом нормальные комментарии далеко вниз. Кроме того, как я уже сказал выше, такие ссылки могут разбавлять записи пользователей, и в результате читать всю дискуссию будет не очень удобно. В свете данных мыслей вариант справа мне кажется очень органичным и замечательным.
В принципе, следует заметить, что трэкбеки в комментариях можно вообще отключить. Некоторые делают это из-за боязни спама в своем блоге, либо просто не видят необходимости в таких сообщениях. Хотя изначально смысл данного функционала был весьма позитивным – если блоггер ставил ссылку на другого автора, то она автоматически ставилась и на его проект. Но сегодня мы отключать трэкбеки полностью не будем, лишь уберем их из общего списка комментариев.
Итак, в общем код вывода записей комментариев выглядит так:
<?php if ($comments) : ?> <ol> <?php foreach ($comments as $comment) : ?> <li id="comment-<?php comment_ID() ?>" class='commentItem'> <!-- THE COMMENT LAYOUT --> </li> <?php endforeach; /* end for each comment */ ?> </ol> <?php endif; ?>
Он отображает все типы записей в одном месте. Для разделения будем использовать функцию get_comment_type, которая возвращает соответствующие типы комментариев comment, trackback и pingback.
Таким образом, чтобы вывести список комментариев от пользователей, используем код:
<?php if ($comments) : ?> <ol> <?php foreach ($comments as $comment) : ?> <?php $commentType = get_comment_type(); if($commentType == 'comment') : ?> <li id="comment-<?php comment_ID() ?>" class='commentItem'> <!-- THE COMMENT LAYOUT --> </li> <?php endif;/* end if comment check */ ?> <?php endforeach; /* end for each comment */ ?> </ol> <?php endif; ?>
Следующим шагом нужно скопировать его в нужно место шаблона (можно даже под форму комментариев), где предварительно заменить условие if($commentType == ‘comment’) на if($commentType != ‘comment’). Оно является противоположным для знака равенства и получается выбирает все записи, которые не есть комментарияим.
<?php if ($comments) : ?> <ol> <?php foreach ($comments as $comment) : ?> <?php $commentType = get_comment_type(); if($commentType != 'comment') : ?> <li id="comment-<?php comment_ID() ?>" class='trackbackItem'> <!-- THE PINGS LAYOUT --> </li> <?php endif;/* end if NOT comment check */ ?> <?php endforeach; /* end for each comment */ ?> </ol> <?php endif; ?>
Второй шаг, который можно выполнить – задать отображение для трэкбеков. Для этого используем всего одну функцию comment_author_link(), которая эти записи будет отображать.
<li id="comment-<?php comment_ID() ?>" class='trackbackItem'> <?php comment_author_link(); ?> </li>
Внимание! Примеры кодов для вывода комментариев специально упрощены, чтобы была понятна суть изменений. Конечно, вы должны будете добавить код, который отвечает за скрытие комментариев, ожидающих модерацию или там, где они отключены.
Я предпочитаю ставить ответные ссылки в постах где-тол, а не в трекбеках – так для автора и меня полезнее. Хорошо дл яэтого подходят подборки интересно почитать, где можно выбрать самый полезны пост, ссылающегося автора.
P.S. Постовой. Посетив блог о подарках, вы получите кучу положительных эмоций и позитива.
Качественное изготовление табличек на дома в Киеве.
Сharming russian woman wants to meet nice men.
Комментариев - 14 к статье “Отделяем трекбеки от комментариев в wordpress”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Добавление миниатюры (thumbnail) в RSS для wordpress
- Category SEO Meta Tags – МЕТА данные для категорий и тегов
- 10 плагинов для админ панели WordPress
- LinkGator.ru – биржа вечных ссылок и статей
- Смена рубрики и массовое редактирование wordpress постов
- Paylicense – хостинг с широким спектром услуг
- WP-RecentComments – плагин и виджет последних комментариев
- Безопасность (4)
- Видео (5)
- Возможности (58)
- Начинающим (18)
- Новости (20)
- Оптимизация (13)
- Плагины (66)
- Сервисы (14)
- Хаки и секреты (43)
- Шаблоны (13)
- Добавление кнопки Вконтакте, Facebook и Twitter в wordpress блог
- Оптимизируем WordPress header и удаляем лишние элементы
- 17 полезных приемов и хаков для WordPress
- Изображения (миниатюры) для связных постов в Simple Tags
- Использование скрипта Lightbox 2 в WordPress блоге без плагина
- Как добавить дополнительные кнопки в редактор WordPress
- Похожие статьи в wordpress без плагинов с использованием категорий блога
- Блог про смартфоны
- Seleckis.lv — Журнал Никиты Селецкого
- Блогинг в стиле web 2.0
- Достопримечательности Львова
- Про блоги для блоггеров
- WordpressPlugins.ru
- Ттелефон Explay Titan в Связном
- Ericsson и планка скорости
- Новая линейка от HTC
- Dr.Web Light 7 для Android
- Рост доходов корпорации Google
- Наказаны за слухи
- Samsung Galaxy S III не получит беспроводную зарядку до сентября
- В июне Apple представит новые ноутбуки MacBook Pro
- Amazon займется созданием собственных онлайн-телешоу
- Новые банки в системе «Яндекс.Деньги»
- Chrome OS станет похожей на традиционные операционные системы

Оцените статью: 
Категории:
Теги:
Хм, я раньше трекбеки вычищал ручками. Попробую реализовать описанную схему, спасибо
Хм, полезно надо у себя такое попробывать провернуть
И почему разработчики решили совместить?!
Ведь как сделали вы намного удобнее.
Мысль разделить пинги и коменты в принципе рациональна.. Но я вот раньше об этом не задумывался.. И понимаю почему, потому что не встречал пока такой ситуации, чтоб они друг другу мешали.
Но с теоретической точки зрения , я полностью согласен.. Это нужное дело. Просто по причине того, что вроде и так нормально, руки не доходят до исправления…
И я задаю такой же вопрос, зачем совмещать. И вообще разработчик должен учитывать, что для различного ресурса может быть и так и так работать. Как в примере 1 и в примере 2.
Но это вопрос не сюда, а к разработчикам
Полезная статья. Попробую у себя такой хак.
А где у вас можно поставить трэкбэк?
Как жаль что разработчики вордпресса не учли всех запросов блогеров и так много нужно доделывать. Ведь кто то не обладает нужными навыками, а очень хочет что то реализовать
хм, а для чего они вообще нужны кроме как поставить ссылку у себя в блоге?
А по моему это уже не смешно в стопицотый раз писать про это. К тому же это для старых варсий, до 2.7.
Согласен с тем, что новые версии такого не потдержат так сказать )))
Функционально – безспорно! Вопрос: Насколько полезно? )))
АлаичЪ, а в новых версия что используется? Там же и трекбэки и комментарии есть, там разве по другому отделяется?
Реализовать то легко. А вот счетчики то считают количество комментариев вместе с трекбеками. Остается только проблема в подсчетах именно комментариев и виджет поправить, чтобы отображал только комментарии (хотя это по желанию всё). Спасибо за статью.
Спасибо большое за пост, я уже пол инета облазил в поисках этой реализации. Все подробно описано, получилось с первого раза. Еще раз спасибо. )
Спасибо за статью! когда мое первое ВП творение подзахломится обязательно попробую ваш способ )