Улучшаем комментирование WordPress без использования плагинов

15 октября 2010
1 508

Реализуем через код функции плагиновСистема комментариев WordPress сама по себе предоставляет необходимый набор функций и ничего лишнего. Это лучше, чем то, что предлагает Blogger, но всё-таки меньше, чем хотелось бы иметь для своего любимого блога. Сегодня мы займёмся её улучшением. Изменение формы комментариев WordPress затронем в другой раз, пока добавим пару полезных функций, причём без использования плагинов.

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

Тема на самом деле обширная, и вернёмся мы к ней ещё не раз. А пока поговорим об улучшениях, связанных с комментариями в блоге на WordPress. И отдельное спасибо скажем замечательному блоггеру АлаичЪ'у. Именно на его статьи я наткнулся, ища новые решения для своего блога о кино.

Чтобы вносить изменения в код шаблона, отправляемся в раздел "Дизайн" (или "Внешний вид" - как его обозвали в "правильном" переводе WordPress 3.0.1), заходим в пункт "Редактор". Здесь в правой панели есть список файлов, что мы можем отредактировать. После редактирования не забудьте нажать кнопку "Обновить файл", находящуюся под полем редактора.

Отображение количества комментариев и записей в блоге

Счётчик комментариев и постов в блогеХорошо бы такой счётчик поставить в блок с прочими пузомерками, но у меня воткнуть его в виджет не получилось - похоже виджеты php-код не обрабатывают. Поэтому я просто открыл через редактор файл боковой панели (sidebar.php) и вставил следующий код под формой поиска:

 

Вывод последних комментариев без использования плагина

Последние комментарииБлок последних комментариев на боковой панели позволит любому зашедшему следить за актуальной дискуссией на блоге. Даже сам блогеру не придётся идти в администраторскую панель, чтобы проверить новые комментарии. Для этой функции в поставке WordPress уже есть плагин, но и её можно сделать без него.

Следующий код опять-таки вставлял в файл sidebar.php. Цифра после "DESC LIMIT" - это число выводимых комментариев, а 50 в строчке (comment_content,1,50) - это число выводимых символовиз каждого комментария. Иногда возникает неприятный глюк: при обрезании слова появляется треугольник со знаком вопроса. У меня такое было при установке одного из плагинов на не помню на каком блоге. Тогда проблема решилась легко установкой максимального числа выводимых символов. Здесь решения не знаю.

Переменные $pre_HTML и $post_HTML в начале кода заданы для удобства добавления необходимого кода или оформления до и после выводимых комментариев.

 

Всё гениальное просто. А защита от спама?

Не ужели, работает!? - моя мысль при прочтении следующего способа борьбы со спамом. Меня, кстати, как раз стали одолевать англоязычные спамеры, которых пропускает WP-SpamFree. Особо порадовал на моём чисто русском блоге комментарий, начинавшийся со слов "Простите за мой плохой английский..." (это уже перевод, оригинал был на действительно неважном английском).

В общем, попробуем. Код, приведенный ниже, смотрит HTTP-реферер (страница, с которой поступил запрос) и автоматически блокирует комментарий, если реферер отсутствует или неправильный. Капчу (проверка на человечность для комментатора) ставить, если честно, не хочется. И для посетителей не очень удобно, и лишняя нагрузка на блог, вот и стараюсь без неё обойтись.

Итак, следующий код вставляем уже в файл functions.php всё через тот же редактор:

После чего надо бы проверить, работает ли у нас ещё комментирование вообще - отправляем тестовый комментарий.

Пожалуй, на сегодня всё. Как я и сказал в начале, тема интересная и я к ней ещё не раз вернусь.

Related Posts Plugin for WordPress, Blogger...
Рубрики: HTML, PHP и т.д., Wordpress

12 комментариев к записи “Улучшаем комментирование WordPress без использования плагинов”

  1. Елена (мой Twitter:  Vasyona)

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

    [Ответить]

  2. osfaunus

    А как сделать кнопки шорткодов без плагинов?

    [Ответить]

  3. old

    спасибо за советы, помогли!

    [Ответить]

  4. Кирилл

    Отлично, Спасибо автору!
    Успешно интегрировал в свою тему ;)
    Милости просим )

    [Ответить]

  5. BloggerMen

    Давно присматривался к выводу количества записей и комментариев, теперь даже решение искать не придется :)

    [Ответить]

    Nomad (мой Twitter:  deSiter)

    Рад, что пригодился)

    [Ответить]

  6. Zuljin

    А у меня всё и без этого работает. Видимо, хорошие плагины у меня)

    [Ответить]

    Nomad (мой Twitter:  deSiter)

    Могу за вас только порадоваться)

    [Ответить]

  7. kladez-zolota (мой Twitter:  Luxus2)

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

    [Ответить]

    Nomad (мой Twitter:  deSiter)

    На самом деле,это легко. Главное, начать. Моего программистского образования тут вообще не потребовалось.

    [Ответить]

  8. СерыйШансон

    Гениально. Но меня пока устраивают плагины, тем более с помощью одного я уменьшил нагрузку на сервер.

    [Ответить]

    Nomad (мой Twitter:  deSiter)

    Что за плагин? Поделись инфой)

    [Ответить]

Комментируйте - автору важно ваше мнение!

Дополнительно: