Украшаем комментарии в Wordpress

Модификация и улучшение комментариев в Wordpress

Сегодня я добрался до формы комментариев своего блога и слегка над ней поиздевался: добавил поле для указания аккаунта в Twitter и автоматическое увеличение поля для ввода сообщения. Посмотрел на всё это дело и понял, что у меня вполне симпатичные комментарии, отчего захотелось показать вам, как сделать такие же.

За всю историю блога я успел сотворить с комментариями следующее.

  • Разделил комментарии и трекбеки. Очень наглядно это представлено на странице конкурса на «7 лучших советов начинающим блоггерам».
  • Добавил возможность указать свой аккаунт в Твиттере, ссылка на который вместе с иконкой появляется под текстом комментария.
  • Убрал гадость под названием «nofollow» — это такой тег, который делает из блоггера жадину в глазах его читателей.
  • Установил простенький антироботовый заборчик.
  • Сделал комментарии древовидными, отчего они и смотрятся симпатично, и искать в них информацию удобно.
  • Добавление происходит с помощью технологии Ajax, которая позволяет не перезагружать страницу, когда в этом нет необходимости.
  • Научил поле для ввода сообщения самоувеличиваться в зависимости от широты слога комментатора.

Теперь я подробно опишу свои действия и в качестве примера буду использовать свой сайт для «Тестирования разных штук», который постепенно обрастает всякими разностями.

Отделение трекбеков от комментариев

Трекбеки — это такие ссылки, которые другие блоги пытаются автоматически опубликовать у вас на сайте, типа в замен на то, что они сослались на вас. По умолчанию они добавляются в одну кучу с комментариями, что порой очень некрасиво и неудобно. Исправляем.

В вашем шаблоне откройте файл comments.php и после

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

вставьте

<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>

перед

<?php endforeach; ?>

добавьте

<?php } else { $trackback = true; } /* End of is_comment statement */ ?>

перед

<?php else : // If there are no comments yet ?>

вставьте

<?php if ($trackback == true) { ?>
<h3>Trackbacks</h3>
<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>
<?php } ?>

Это пересказ коротенькой статьи «Separating Trackbacks from Comments», и этот метод сработает у вас только если вы используете старый шаблон комментариев, а не функцию wp_list_comments ().

В новых версиях Wordpress (например 2.9.1) в шаблоне Default используется как раз эта функция. Я решил не заморачиваться и заменил файл comments.php на аналогичный из другого стандартного шаблона Classic, где всё сделано почти так, как нам необходимо.

Чтобы всё было полностью хорошо, замените

<ol id="commentlist">

на

<ol class="commentlist">

Посмотреть результат можно, например, на этой странице.

Древовидные комментарии

Для этого мы используем замечательный плагин Wordpress Thread Comment, который заодно обеспечит нам добавление комментариев с помощью Ajax. Скачаем, установим и приступим к настройкам.

Перейдём на страницу Настройки → Древовидные комментарии. Для примера включим «Использование поддержки AJAX» и в поле «Информировать комментатора о появлении новых комментариев» выберем «Commenter choose to do so (default checked)».

Теперь проверим, разрешены ли древовидные комментарии на странице Настройки → Обсуждение, и пойдём дальше. Посмотреть результат можно на той же странице тестового сайта.

Captcha

Чтобы роботы-спамеры нас не мучали, установим какой-нибудь плагин, предназначенный для их отпугивания. Это может быть, например, Quiz или Amcaptcha от Алексея Московского.

Избавление от nofollow

Чтобы наши читатели с удовольствием комментировали наши записи, откроем их ссылки для индексации в Google. Для этого существует замечательный плагин Dofollow.

@Twitter

Чтобы нашим читателям было ещё интереснее комментировать наш блог, предоставим им возможность оставлять ссылки на свои аккаунты в системе микроблогинга Twitter. Для этого используем плагин Twitterlink Comments. Скачаем, установим и приступим к настройкам.

Перейдём на страницу Настройки → TwitterLink Settings и в поле «Add Twitter Field Automatically?» выберем «No». В поле «Twitter Link Position» я выбрал «End of Comment Text», что позволит обображать ссылку на твиттер пользователя под его комментарием.

Link Format

HTML before link — здесь я отметил «No» для «Use NoFollow?» и в текстовое поле вставил следующий код, содержащий иконку Твиттера:

<p class="twi"><img src="http://seogad.ru/twi.png" />

Иконку я взял из замечательной французской коллекции иконок.

HTML after link — здесь я закрыл тег:

</p>

Модификация шаблона

Теперь сохраним настройки (Save changes) и перейдём к редактированию шаблона. Для начала откроем файл style.css и добавим туда стили для нашей иконки со ссылкой.

p.twi {
line-height:16px;
}
p.twi img {
float:left;
margin-right:5px;
}

Это только пример, можете задизайнить как вам больше нравится.

В ручную добавим текстовое поле в форму отправки комментария. Для этого откроем файл comments.php и после

<label for="url"><small><?php _e('Website'); ?></small></label></p>
<?php endif; ?>

добавим

<p><input type="text" name="atf_twitter_id" id="atf_twitter_id" value="" size="22" tabindex="3" />
<label for="atf_twitter_id"><small><?php _e('Имя в Twitter (без http:// и @)'); ?></small></label></p>

Модификация поля для сообщений

С Твиттером мы разобрались, и если есть желание, можем добавить последнюю вкусность для нашей формы добавления комментария — автоматически расширяемое поле для сообщения, для создания которого понадобится скачать и активировать плагин Comment Autogrow. К сожалению, на моём тестовом блоге этот плагин пришлось отключить, так как он мешал корректной демонстрации моего урока по созданию каталога песен на Wordpress, но он активирован на этом блоге.

На этом урок окончен. Надеюсь, вам понравилось украшать комментарии на Wordpress вместе со мной.

До новых встреч. Желаю всего самого интересного.
Артём Савельев.

P.S. Не забываем, что Аббат Кальне проводит конкурс для блоггеров, в рамках которого просит рассказать участников, чем для них является блоггинг. Работы принимаются до 20 февраля.

Статьи по теме:

Понравилась статья?

Можно поделиться ей с друзьями на других сайтах:

36 — Много ли это для комментариев?

  • спасибо за постовой, обьязательно отблагодарю...!

    думаю установлю и себе Twitterlink Comments — понравился...

    kalne

    Ответить

    @Аббат_Кальне, ага, как-то по-новому с этим плагином комменты выглядят =)

    artsaveliev

    Ответить

  • Интересная фича с акком твитера. Попробую на одном из своих блогов

    supaman_

    Ответить

    @Supaman, потом поделись ссылочкой =)

    artsaveliev

    Ответить

    @Артём Савельев, Обязательно сообщу. Прикинь у меня опять траблы с блогом...

    Хотелось бы почитать интересную статью об оптимизации ВП и снижении нагрузки на хостинг.

    supaman_

    Ответить

  • Полезный пост. Красиво оформленные комментарии будут стимулировать обсуждение темы.

    newproff

    Ответить

    @Бирюков Сергей, это безусловно =)

    artsaveliev

    Ответить

  • Некоторые из этих советов давно хотел прикрутить у себя, но руки не доходили. А тут все в одном посте описано. Отлично, спасибо. ;)

    epoxa

    Ответить

    @blogavod, пожалуйста, рад стараться

    artsaveliev

    Ответить

  • Я больше попробовать конечно — но все равно спасибо — прикручу и у себя так

    kedrov

    Ответить

    @Alex Kedrov, всегда пожалуйста

    artsaveliev

    Ответить

  • Довольно развёрнуты пост об улучшении комментариев. Кое что из предложенного имеет смысл использовать у себя.

    Ответить

    @Алеххх, используйте наздоровье =)

    artsaveliev

    Ответить

  • Засуну ссылку в закладки, позже обязательно воспользуюсь некоторыми советами из статьи)) Спасибо.

    Kryaker

    Ответить

    @Крякер, всегда пожалуйста =)

    artsaveliev

    Ответить

  • А обязательно всё плагинами делать? По моему в этом нет никакой необходимости. Достаточно ручками переписать шаблон.

    Скоро вордпресс блогеры без плагина в туалет сходить не смогут :) ))

    dr_pretender

    Ответить

    @Dr. Pretender, конечно необязательно. Кто-то может обойтись без плагинов, кому-то легче прибегнуть к ним.

    artsaveliev

    Ответить

  • Спасибо за статью. Я новичок в этом деле. Обязательно воспользуюсь Вашими советами.

    Ответить

    @Наталья Ткаченко, пожалуйста, приходите ещё =)

    artsaveliev

    Ответить

  • За французскую коллекцию отдельное спасибо! Класс, очень понравилось. Кстати, в Вордпрессе есть же изначально древовидные комменты :-) В настройках я встречал, но что-то они кажется не работают. Про твиттер удобный плагин. Да, хорошая подборка, плюс ещё минимануалы по их использованию :-) круто, что сказать. Спасибо!

    golovolomka

    Ответить

    @Загадочный, они работают, если правильно отредактировать тему =) но плагин симпатичнее, он с аяксовыми ответами =)

    artsaveliev

    Ответить

  • Древовидные комментарии хорошо. Как и автоувеличение поля комментирования, это «фишка» нравится.

    А вот ссылку на твиттер разместили в неудобном месте, она создаёт «шум». Предлагаю её переместить в правый угол комментария (в одну линию с именем автора и датой сообщения). Можно даже убрать твитимя, а сделать саму иконку ссылкой и в подсказке уже указать ник в твиттере.

    Но это только моё мнение. =)

    freedivbyzero

    Ответить

    @divbyzero, спасибо, дельное предложение, подумаю об этом.

    artsaveliev

    Ответить

  • Очень хорошая статья, думаю в ближайшее свободное время реализую поле для ввода адреса твиттера у себя на блоге.

    solovieff

    Ответить

    @Andrew S., спасибо, желаю успеха в реализации задуманного =)

    artsaveliev

    Ответить

  • твиттер в комментариях — весьма удобная и полезная штука, надо себе тоже такое замудрить.

    спасибо за подсказки!

    KipiaSoft

    Ответить

    Пожалуйста

    artsaveliev

    Ответить

  • ах вот как твиттер в комменты приклеиваится! кстати, у тебя на блоге у первого заметил эту фишку, думаю может и себе прикрутить:) ползеная статья, пригодиться

    elijahshiryaev

    Ответить

    А я чего-то и забыл где это встретил, то ли во французской блогосфере, то ли у нас.

    artsaveliev

    Ответить

  • Эх. как же тяжко девушки в этих скриптах плавать. :)

    Ответить

    @Виктория, если что, обращайтесь — помогу чем смогу

    artsaveliev

    Ответить

  • Именно то, что искал по древовидным комментариям. Автоувеличение поля ввода комментария тоже прикольно.

    Nikolas_Sharp

    Ответить

    @Перспективный блоггер, рад, что пригодилось =)

    artsaveliev

    Ответить

  • А вот вам и Раздельный вывод Трекбеков и Комментариев в WordPress 2.7 и выше

    Надеюсь пригодится на будущее.

    victimalex

    Ответить

Обратные ссылки (trackbacks)

Ваш комментарий

Поля отмеченные * нужно в любом случае заполнить. Пожалуйста, воспринимайте буквально текст «Блог или профиль в соц. сети», не оставляйте ссылки на интернет-магазины, коммерческие сайты и страницы, на которых нельзя познакомиться с вами и вашей деятельностью - такое творчество будет удалено. Это dofollow блог.

Блоггинг, SEO, создание и монетизация сайтов, уроки по Wordpress и Drupal, заработок на блогах.

Подпишитесь на RSS, чтобы быть в курсе последних обновлений блога.

© 2009, Артём Савельев