Отделяем трекбеки от комментариев в 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.
комментариев 18 к статье “Отделяем трекбеки от комментариев в wordpress”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Оптимизируем WordPress header и удаляем лишний код (5,19 из 7, голосов - 43)
- Как создать пункт меню без ссылки в wordpress (6,39 из 7, голосов - 23)
- Добавление кнопки Вконтакте, Facebook и Twitter в wordpress блог (6,14 из 7, голосов - 21)
- Выполнение jQuery скриптов при выборе вариаций товаров в WooCommerce (3,96 из 7, голосов - 26)
- Хаки для вариаций товаров в WooCommerce (5,00 из 7, голосов - 20)
- Вывод текста в блоге только на главной (6,85 из 7, голосов - 13)
- Как убрать category в WordPress категориях — зачем это делать, плагины для реализации (5,31 из 7, голосов - 16)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
Хм, я раньше трекбеки вычищал ручками. Попробую реализовать описанную схему, спасибо
Хм, полезно надо у себя такое попробывать провернуть
И почему разработчики решили совместить?!
Ведь как сделали вы намного удобнее.
Мысль разделить пинги и коменты в принципе рациональна.. Но я вот раньше об этом не задумывался.. И понимаю почему, потому что не встречал пока такой ситуации, чтоб они друг другу мешали.
Но с теоретической точки зрения , я полностью согласен.. Это нужное дело. Просто по причине того, что вроде и так нормально, руки не доходят до исправления…
И я задаю такой же вопрос, зачем совмещать. И вообще разработчик должен учитывать, что для различного ресурса может быть и так и так работать. Как в примере 1 и в примере 2.
Но это вопрос не сюда, а к разработчикам
Полезная статья. Попробую у себя такой хак.
А где у вас можно поставить трэкбэк?
Как жаль что разработчики вордпресса не учли всех запросов блогеров и так много нужно доделывать. Ведь кто то не обладает нужными навыками, а очень хочет что то реализовать
хм, а для чего они вообще нужны кроме как поставить ссылку у себя в блоге?
А по моему это уже не смешно в стопицотый раз писать про это. К тому же это для старых варсий, до 2.7.
Согласен с тем, что новые версии такого не потдержат так сказать )))
Функционально — безспорно! Вопрос: Насколько полезно? )))
АлаичЪ, а в новых версия что используется? Там же и трекбэки и комментарии есть, там разве по другому отделяется?
Реализовать то легко. А вот счетчики то считают количество комментариев вместе с трекбеками. Остается только проблема в подсчетах именно комментариев и виджет поправить, чтобы отображал только комментарии (хотя это по желанию всё). Спасибо за статью.
Спасибо большое за пост, я уже пол инета облазил в поисках этой реализации. Все подробно описано, получилось с первого раза. Еще раз спасибо. )
Спасибо за статью! когда мое первое ВП творение подзахломится обязательно попробую ваш способ )
а так ли нужны эти трэкбэки сайту?? практического применения я не нашла, ссылочную массу такими низкопробными способами навряд ли получится набрать.
Лиана, большинство их отключает, т.к. действительно польза от них минимальная. Раньше просто это было как уведомление о том, что кто-то отставил ссылку на другой блог, блогосфера более активно ставила ссылки друг на друга.
Впервые сегодня услышал о трекбэках и никогда раньше ничего подобного на своем сайте не замечал…
Цифровой, в эпоху зарождения популярности блоггинга эта фишка была достаточно популярна, сейчай же везде отключаю «оповещения с других блогов», т.к. это часто для спама используется. Хотя тот же Akismet их отлично отсекает.