Улучшаем и украшаем комментарии — часть четвертая, заключительная.

Украшения и улучшения комментариев. Часть 4-ая, заключительнаяЭтот заключительный пост из серии Украшаем комментарии в WordPress, Украшаем комментарии в WordPress — часть 2 и часть 3-я. Итак, мы добрались почти до самого конца, и если в предыдущей части мы, в основном, вносили изменения в код, то последние украшательства/улучшательства будем делать с помощью плагинов. Должен сказать, что иногда эти плагины ведут себя весьма неадекватно — такие я даже не привожу в постах, чтобы случайно не поломать чего, ненароком. Последний из примеров — после установки одного из них пропала панелька TinyMCE, визуальный WYSIWYG редактор постов, остались одни шорткоды, ну т.е. совсем исчезла, даже кнопка ее вывода.

Я минут 15 страдал, прежде чем догадаться, что один из установленных и снесенных потом плагинов ее отключил, и при деактивации и удалении забыл обратно включить. Слава богу, что вернуть ее обратно оказалось достаточно просто — необходимо зайти в меню «Пользователи», там — «Ваш профиль», и снять галочку с самого верхнего чек-бокса. Но поди-ж ты догадайся!

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

Ajax Comments-Reply — жутко глючный, до неузнаваемости изменяет тему

AJAX Comments 2.08 — выдает не очень красивое сообщение об ошибках в отправке комментария, и не хочет работать с антиспам-защитой (AntispamBee) и WYSIWYG редактором комментариев

WordPress Thread Comment — тоже самое, вид сбоку

Ajax Comment Posting 2.0 — глючит не меньше, вообще ничего не отправляет

Silk AJAX Comments 1.0 — комментарии отправляются, но если включено предварительное модерирование, то абсолютно не видно, ушел ли комментарий, или нет, плюс — все на английском, переводить влом

WP-Ajaxify-Comments 0.5.2 — не совсем отправка комментов через аякс. Скорее, это всплывающая подсказка в случае, если не заполнено какое-либо обязательное поле, вместо вывода отдельной страницы с ошибкой, хотя авторы утверждают, что и отправка происходит через аякс. В целом, он мне понравился — множество настроек, стабильная работа на теме. Хотя шрифт подсказки вызывает некоторые нарекания. И пока нет русской локализации, но это вопрос времени.

wp-comment-master 1.7 — очень неплохой плагин, достаточно грамотно отрабатывает отправку комментариев, надпись об ошибке выводит почти там где надо — это легко можно поправить. Присутствуют две проблемы:

1) если установлен плагин WP Ajax Edit Comments (о нем будет чуть ниже), то возможность редактировать комментарии появляется только после перезагрузки страницы. Так что придется выбирать — или этот плагин, или  тот, или поясняющую подпись вводить

2) если установлен какой-либо WYSIWYG редактор для комментариев, например, Tiny MCEcomments, то по первому нажатию кнопки «отправить комментарий» — выводится надпись, что поле для комментария не заполнено, и только после второго нажатия он уже отправляется (а, к слову сказать, с CLEditor for WordPress работает вообще криво, прогружая комментарии только после обновления страницы)

PTM AJAX Comments 1.04 — проблемы начались, когда я пытался его скачать — zip файл успешно скачивался, но внутри был пустым. Тогда скачал со страницы разработчика. Установил. Настроек — очень много. Но, к сожалению, адекватно на теме вместе с остальными плагинами работать не смог.

В результате я решил остановиться на wp-comment-master 1.7, с небольшими его доработками: а) для того, чтобы сообщение об ошибке выводилось не внизу формы комментария, а наверху, необходимо в файле «cm.js» строчку

заменить на:

б) для того, чтобы сообщение об ошибке выводилось красным цветом, а об успехе — зеленым, в том же файле необходимо строчку

заменить на:

К сожалению, необходимость двойного нажатия на кнопку отправки комментария при установленном TinyMCEComments портит всю малину. Я так чувствую — посмотрю, покопаюсь, и если не смогу решить эту проблему — то временно его отключу. Также есть желание попробовать описанный здесь способ — ну это если время будет.

Выше я упомянул о плагине WP Ajax Edit Comments 5.0.7.0. Это как раз является следующим пунктом тюнинга наших комментариев. После того, как я его себе поставил и увидел, как он работает — рассмотрение остальных подобных плагинов уже не имело никакого смысла. О его возможностях можно рассказывать бесконечно. Среди них:

  • Возможность дать незарегистрированному пользователю редактировать свои комментарии в течение установленного администратором времени, удалить комментарий, или послать запрос на его удаление (настраивается администратором), причем вне зависимости — был ли уже опубликован комментарий, или стоит в очереди на публикацию

Плагин WP Ajax Edit Comments для Вордпресс

  • Настроить, что позволять редактировать — только сам комментарий, или еще и личную информацию
  • Настроить, будет ли админу отправляться письмо о том, что комментарий был отредактирован
  • Позволять ли редактировать комментарий, если появились еще комментарии в ответ

Плагин WP Ajax Edit Comments для Вордпресс

  • Прикрутить обратный отсчет этого времени (но я, к примеру, отключил его вывод, чтобы не смущать пользователей)
  • Выводить сообщение комментатору о том, что он может делать со своим комментарием

Плагин WP Ajax Edit Comments для Вордпресс

  • Возможность управлять всеми комментариями как из админки, так и непосредственно с сайта (с сайта — если комментарий отправляется без постановки в очередь на модерацию)
  • Под понятие управление входят следующие возможности:
  • Можно удалить, подтвердить комментарий

Плагин WP Ajax Edit Comments для Вордпресс

  • Можно перенести его в другую ветку, если комментатор промахнулся

Плагин WP Ajax Edit Comments для Вордпресс

  • Можно занести комментатора в черный список по e-mail, нику, IP, URL, и отправить туда же все его комментарии одним кликом

Плагин WP Ajax Edit Comments для Вордпресс

  • Удалить одним нажатием кнопки все ссылки из комментария — как все, так и только в теле комментария

 

  • Отправить комментатору письмо, кликнув на кнопку в выпадающем меню у комментария, и введя текст в открывшемся поле

Плагин WP Ajax Edit Comments для Вордпресс

  • В плагине предусмотрено использование нескольких скинов, которые подойдут к практически любой теме
  • Возможность расположить кнопки редактирования не только списком, но и в выпадающем меню, использовать просто надписи, кнопки и надписи, или только кнопки

Плагин WP Ajax Edit Comments для Вордпресс

  • И множество чего еще по мелочам.

Рассказать все невозможно, это необходимо просто видеть:

 

А попробовать, как работает редактирование комментариев — можно у меня здесь. Когда-то этот плагин был платным, и стоил весьма прилично. Сейчас его можно скачать и установить бесплатно. Сколько такая халява продлится — не известно. Но однозначно, это один из must have плагинов.

Огорчает в нем три вещи:

1.  В случае, если не установлен счетчик времени, то ссылка (кнопка) на редактирование комментария пользователем остается, а по истечению указанного времени просто становится неактивной до перезагрузки страницы. В случае, если счетчик стоит — то как только до нуля дошли, так сразу плавно и исчезает.

2. Невозможно редактировать комментарии без Pop-up Colorbox, чтобы прямо на месте,  внутри комментария

3. Нет возможности админу редактировать и модерировать прямо из статьи комментарии, ожидающие модерации (все равно приходится в админку залезать (это, впрочем, свойство вордпресса)

И вот тут-то пришло время поговорить о следующем весьма интересном плагине. Который позволяет модерировать комментарии в вордпрессе не из админки, а прямо со страницы поста. Называется он Thoughtful Comments 0.2.3.3, находится стандартно в депозитарии, а его собственная страничка — здесь. В рунете о нем особо и упоминаний никаких нет. Тем не менее, он весьма интересен. Вот как выглядит страничка из под администратора:

Thoughtful Comments

Красным отмечены пока еще неапрувленные комментарии. Нажав на соответствующие ссылки, можно допустить к публикации, удалить, отправить в бан. И это все — во фронт-энде! Плюс к этому — если комментарии древовидные — позволяет удалить всю ветку. После его установки хак из предыдущего поста, где мы выводили ссылки на удаление комментария — просто и не очень-то нужны (удалять не стал, т.к. времени на это нет, пусть пока побудут). А теперь главная фишка — этот плагин совершенно замечательно, и абсолютно не конфликтуя, работает с  WP Ajax Edit Comments 5.0.7.0. Конечно, они в части удаления комментария пересекаются друг с другом, но это — не большая беда. Почему этот плагин незаслуженно остался обделенным вниманием русскоязычной части интернета — я не понимаю.

Ну и последнее, о чем я хотел бы рассказать — это как раз то, что слишком хорошо освещено на просторах рунета, поэтому долго распространяться не буду. Плагин Subscribe to Comments 2.1.2 — из протестированных мне понравился больше всего. Качал его русскую версию, а здесь описание, как поправить его руссификацию, если не хочется в корне папок плагинов держать файлы руссификации. Единственное, что пришлось сделать — так это вставить в самый конец 85-ой строчи файла subscribe-to-comments.php после кода

код

Для того, чтобы надпись «Подписаться, не комментируя», не залезала на форму ввода е-мэйла. Получилось так:

Получившаяся подписка на комментарии

И еще момент — вставлять форму «подписки, не комментируя» так, как написано в ридми и большинстве наших русскоязычных сайтов — не стоит, поскольку тогда она будет выводится даже там, где комментарии закрыты. Пофиксить это просто — надо внести после кода

в файл /wp-content/themes/ваша_тема/comments.php не

<?php show_manual_subscription_form(); ?>

а код

Спасибо доброму человеку OlegBon (ссылки нет, к сожалению). Ну а остальное (настройка и т.п.) — уже все просто и понятно — в настройках прописать путь к шапке, сайдбару и футеру, и поставить галку на «использовать свой стиль». Можете прочитать хоть здесь, а вообще — гугль в помощь. Кстати, осталось впечатление, что если человек, комментируя, подписался, но его комментарий не пропустил автор сайта — то подписка тоже не сработает. В случае, если пропустили и одобрили — работает и для mail.ru, и для yandex.ru, и для gmail.com, проверил основные. Если хотим вписать стандартно используемый плагином стиль, то в style.css файл темы, в самый конец, надо не забыть добавить код:

/* SUBSCRIPTION MANAGER STYLE */
.subscription-manager {
padding: 10px 0 20px 0;
margin: 5px 0 0 55px;
width: 650px;
}

div.wrap {
background: #fafafa;
padding: 5px 10px;
margin: 20px 0;
border: 1px solid #ccc;
}

div.wrap h2 {
margin: .5em 0 1em 0;
border-bottom: 2px solid #589bd2;
}

div.wrap fieldset {
border: 1px solid #555;
margin: 1em 0;
padding: 5px 10px;
}

div.wrap fieldset legend {
font-weight: bold;
font-size: small;
}

div.wrap p.submit {
text-align: right;
}
.updated {
background: #B9D6EF;
border: 1px solid #589bd2;
margin: 1em 5% 10px;
padding: 0 1em;
}

.updated-error {
background-color: #FFA3A3;
border: 1px solid #FF5D5D;
}

div.wrap form {
margin: 0;
padding: 0;
}

div.warp li {
margin-bottom: 6px;
line-height: 130%;
}
/* END SUBSCRIPTION MANAGER STYLE */

Результат страницы управления подпиской вышел вот такой:

Управление подпиской в subscribe to comments плагине для Вордпресс

Надо немножко пофиксить верхнюю шапку — но это потом.

Upd: Поправил верхнюю шапку, внеся в css код следующие изменения:

Необходимо помнить, что Monotype Corsiva должен лежать у вас на сайте, и в css должны быть внесены необходимые изменения, как описано у меня здесь. А вот и результат шапки (вид из админки, но из под пользователя выглядит аналогично):

Такой стала шапка подписки на комментарии

Вот и все. Вскоре буду объединять все четыре части обзора в один, еще пару мыслей есть по тому, что надо сделать, да пока не знаю как (с тем же самым Аяксом, который я все-таки решил пока отключить, с одной неувязкой с выделением автора через css3, ну и т.п.) . Но в целом — с комментариями, их украшательством и настройкой все закончено.

Ну а в следующий раз нас ждет подробный разбор полетов, как сделать рассылку о новых статьях с сайта, и как привести в общий стиль с сайтом посредством CSS3 не только кнопки, которые отвечают за отправку комментариев, но и к примеру, за подписку на новые комментарии. Вернее, как я со всем этим возился.

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
7 комментариев
  1. Блин, огромный респект за все 4 поста, местами очень помогло разобраться со своей темой. Пишу просто сказать спасибо! Побольше таких подробных постов:)

  2. Так какой аякс плагин вы в итоге установили?

    • WP Ajax Edit Comments — он не отправляет комментарии через аякс, но позволяет аяксово их редактировать. Это настолько мне понравилось, что я решил на нем и остановиться. К сожалению, с аяксовыми плагинами, которые позволяют отправлять комментарии, он конфликтует (я описывал это выше). По крайней мере, год назад конфликтовал, как сейчас ситуация обстоит — не знаю.

  3. Кто не знает как убирать модерацию, открываю секрет. Целый день мучился. Пока вы не отключите все плагины, защищающие вас от спама, модерация не пропадет, как бы вы не старались!!!

  4. Спасибо за труд, очень статья помогла, все расписали как надо, теперь буду улучшать и украшать форму вывода комментариев на своем блоге

  5. Ну-ка, ну-ка, потестируем. Дыц

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Subscribe without commenting

QR Code Business Card