Комментарии на AJAX для WordPress
Если вы обратили внимание, ранее на моём блоге при добавлении комментария страница перезагружалась, теперь комментарий или ответ на другой комментарий появляются сразу. Это благодаря технологии AJAX (асинхронный JavaScript и XML), позволяющей браузеру и веб-серверу обмениваться данными в фоновом режиме. Многие шаблоны для WordPress делаются уже с модифицированными комментариями, но если единственный недостаток вашего шаблона, как и у меня, необходимость ожидания перезагрузки страницы при комментировании, читайте дальше - добавить поддержку AJAX, оказывается, легко с помощью плагинов.
Доброе время суток, дорогой читатель! Последние дни (и ночи) я потратил на доработку комментариев на своём блоге: добавил AJAX, модифицировал форму комментариев WordPress, внешний вид комментариев, перепробовал кучу плагинов и покопался в файлах PHP и CSS. Теперь постараюсь поведать в паре статей о самых важных результатах изысканий.
If AJAX Comments
Самый распространённый плагин для решения поставленной задачи. И неудивительно: среди десятка протестированных мною плагинов этот самый функциональный и стабильный.
Среди прочего можно настроить надписи, которые будут выводиться в случае, если не заполнено одно из полей комментария, а также если комментарий отправлен успешно. И надписи, и комментарий появляются без перезагрузки страницы.
Однако, мне больше понравился плагин PTM AJAX Comments. Юмор в том, что он - полная копия If AJAX Comments, лишь слегка отличается в оформлении - этим и понравился. Сообщение об ошибке выводит буквами красного цвета, а об успешном добавлении комментария - зелёным. В принципе это легко сделать и в предыдущем плагине, если покопаться в его файлах - у меня желания не возникло.
Если же вы предпочитаете внести изменения в файлы плагина, то это можно сделать из панели администратора WordPress. Находите в боковой панели слева раздел "Плагины", в нём пункт "Редакток", кликаете по нему. Открывается страница редактирования кода. Над полем, в котором отображается код открытого файла вы должны выбрать плагин, файлы которого хотите отредактировать. Не забудьте нажать кнопку "Выбрать" после совершения выбора. По умолчанию открылся первый файл плагина, но их обычно несколько - список отображается справа от поля редактирования кода. Удачи;)
Ajax Comments-Reply
Предыдущие два плагина я называю стабильными по совокупности отзывов. К сожалению, работа AJAX сильно зависит от шаблона и у многих не работает, как должно. В общем, у меня эти плагины работали не до конца, и я отправился в репозиторий WordPress искать плагин для себя. Нашёл почти никому не известный, но заработавший сразу и без всяких условностей, плагин Ajax Comments-Reply.
Но у него своя проблема. Он меняет внешний вид комментариев до неузнаваемости. Неудачное расположение элементов плюс ужасные шрифты и отсутствие перевода надписей на русский язык делают этот плагин бесполезным, если вы не готовы вручную отредактировать файлы плагина. Стили прописаны в comment.css, расположение элементов и выводимые надписи в comments.php. Дерзайте.
Послесловие
Случай свёл меня с плагином WordPress Thread Comment. Его основная задача - добавлять древовидные комментарии, что с версии 2.7 может и сам WordPress. Поэтому я и не обращал внимания на этот плагин, однако, оказалось он может много больше - например, добавить поддержку AJAX. Причём, всё работает. Именно на этом плагине я остановился для своего блога, читайте о нём в статье WordPress Thread Comment. Также хочу напомнить, что некоторые функции комментариям WordPress можно добавить и без использования плагинов.
А сейчас должен отметить пару деталей. Некоторые плагины, добавляющие в форму комментирования панель с кнопками для форматирования текста комментариев, нарушают работу AJAX. Придётся остановиться на чём-то одном. Это касается таких замечательных плагинов как MCEComments и NICEdit. О них я тоже расскажу.
И совсем грустная новость, обнаруженная сегодня утром. Добавление комментариев по технологии AJAX не поддерживается браузером Opera. Он беспомощно пытается отправить запрос с перезагрузкой страницы, но ничего не получается. Тестировал на Opera версии 11.50. В Google Chrome последней версии, Internet Explorer версии 9 и Firefox 5 проблем не возникло.






А у меня почему-то при отправке комментария переходит на пустую страницу, на которой только:
-1
[Ответить]
31.03.2012
Ничего не могу подсказать, с такой проблемой не встречался(
[Ответить]
Вот я установил PTM AJAX Comments, но у меня на сайте не появляется форма для оставления коментария, подробно объясните что нужно сделать чтоб пользватель оставлял комент у моих статей.
[Ответить]
Еслиб разобраться с первыми двумя плагинами и заставить их работать, это было бы лучшим решением, наверное.
[Ответить]
11.12.2011
Лучшим решением было бы разобраться в AJAX и самому написать плагин:)
[Ответить]
Your comment was a bit too short. Please go back and try again. у вас выводится в сообщении. исправьте
[Ответить]
08.02.2012
Спасибо. Поправлю.
[Ответить]
Почему опера не поддерживает AJAX? У меня все ок :)
[Ответить]
29.11.2011
На момент написания статьи, вероятно, были с этим проблемы.
[Ответить]
Экономия сетевого трафика + меньше запросов - то что надо. Спасибо.
[Ответить]
16.07.2011
Заходите ещё, надеюсь и в дальнейшем радовать полезными статьями)
[Ответить]
Экономия однозначная
[Ответить]
13.07.2011
AJAX это хорошо.Перегружаемая страница вечно бесит,в любых случаях.Но у меня Дискус,там и так всё нормально.
[Ответить]
13.07.2011
Прекрасная штука для блога на Блоггере, сам пользовался. Но грузится дольше, чем хотелось бы. Да я как-нибудь подробно о нём напишу.
[Ответить]
Что такое Дискус?
[Ответить]
29.11.2011
Система комментирования, которая при установке на сайт полностью подменяет встроенную. Богатая на возможности, но загружается не мгновенно, из-за чего зачастую комментарии на странице видны не сразу после её загрузки. Пишется Disqus - можете поискать в Гугле информацию, а то в рамках комментария особо много не расскажешь.
[Ответить]