Комментарии Вордпресс — мои решения

Здравствуйте, друзья! В этой статье опишу все свои проблемы и решения на тему «как настроить комментарии вордпресс». Учитывая мои скудные познании в веб-программировании, то ковыряться с настройкой формы комментирования пришлось долго. Если честно, в планах не было писать о комментариях, так как у меня стоит автоматический вывод формы, плюс конфликта с дизайном не было. Но, на мое удивление, времени на пользовательские доработки ушло немало, потому все мои действия решила отразить в этой статье.

Содержание:

  • Нужна ли регистрация пользователей на блоге и мои настройки обсуждения
  • Автоматическая очистка полей данных после отправки комментирования
  • Подписаться на новые комментарии к статье
  • Как выделить комментарии автора
  • Визуальный редактор для комментирования
  • Защита от спама в комментариях

Нужна ли регистрация пользователей на блоге и мои настройки обсуждения

Сейчас большинство тем WordPress поддерживают автоматический вывод комментариев, поэтому мне не пришлось вручную выводить форму. Также, наверняка вы уже знаете, что комментарии можно запретить или разрешить к каждой записи или странице:

Мои настройки комментирования в консоле

Настройки ⇒ Общие: я убрала галочку «любой может зарегистрироваться«;
Настройки ⇒ Обсуждение: я отметила пункты
«Разрешить оставлять комментарии на новые статьи«, что позволяет автоматически выводить форму комментирования к записям;
«Автор должен указать имя и e-mail» ;
«Разрешить древовидные вложения» — это активирует опцию «ответить» на комментарий;
«Кто-нибудь оставил комментарий» — я получаю соответствующее уведомления на почту;
«Показывать аватары» — в настройках указала «логотип граватар».
Все, остальные пункты я не отмечала.

комментарии вордпресс

Нужна ли регистрация пользователей на блоге?

Ключевое слово здесь — БЛОГ. Если честно, я не представляю даже, зачем моим читателям регистрироваться на моем блоге, если я только публикую статьи, и не предусматриваю создание форума. Также я единственный администратор, а если понадобиться подключить к блогу кого-нибудь, то это легко делается через админку вордпресса. Поэтому у меня изначально даже вопроса не было с этим пунктом, зато возникли сложности в настройках комментирования и подписки на блог. И этому посвящен следующий раздел статьи.

P.S. Из-за того, что мой блог не предусматривает регистрацию пользователей, мне пришлось отказаться от плагина Subscribe2 (плагин подписки и рассылки новостей), в этом плагине расширенные возможности именно для зарегистрированных пользователей.

Автоматическая очистка полей данных после отправки комментария

Это стало для меня настоящей проблемой. При тестировании комментариев я обнаружила, что поля ввода данных (имя, почта и сайт) не очищаются, даже при обновлении страницы. Озадачил тот факт, что это прописано в самом движке Вордпресс, и действует одинаково в разных темах. Эту проблему легко можно было решить, если бы у меня стояла регистрация пользователей. Но, как я уже написала выше, эта функция у меня отключена. 

Итак, задача такова: убрать сохранение данных комментатора в полях «имя», «почта», «сайт», и иметь только стандартное автозаполнение (подсказку данных для того, кто уже оставлял комментарий). 

Решение оказалось такое. В файле comment-template.php (путь /ваш сайт/public_html/wp-includes) из функции comment-form удалила атрибут value

Было так:

  $fields = array(
 'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
 '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30" maxlength="245"' . $aria_req . $html_req . ' /></p>',
 'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
 '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30" maxlength="100" aria-describedby="email-notes"' . $aria_req . $html_req . ' /></p>',
 'url' => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label> ' .
 '<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" maxlength="200" /></p>',
 );

Стало вот так (без атрибута value):

  $fields = array(
 'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
 '<input id="author" name="author" type="text" ' . esc_attr( $commenter['comment_author'] ) . '" size="30" maxlength="245"' . $aria_req . $html_req . ' /></p>',
 'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
 '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' . esc_attr( $commenter['comment_author_email'] ) . '" size="30" maxlength="100" aria-describedby="email-notes"' . $aria_req . $html_req . ' /></p>',
 'url' => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label> ' .
 '<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" maxlength="200" /></p>',
 );

Теперь в комментариях есть стандартная опция автозаполнения, но без режущих глаз сохраненных данных. 

Подписаться на новые комментарии к статье

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

Решение нашлось быстро, все как один рекомендуют плагин Subscribe to Comments Reloaded, и я сразу его установила. Правда, я столкнулась с небольшими проблемами в его настройках, пришлось немного уделить ему времени.

Панель управления плагином находится в консоль ⇒ StCR. Основные настройки на русском, разобраться в них особой сложности нет. Столкнулась с некоторыми сложностями со страницей управления подписками, но эту проблему можно решить двумя способами.

Во-первых, если в настройках вы устанавливали отображение ссылок произвольно, прописывая /%category%/%postname%.html или /%postname%.html, то в настройках плагина нужно поменять соответствующие настройки отображения страницы. 

Плагин создает виртуальную страницу, на которой и будет осуществляться управление подписками. Если не прописать отображение страницы url, то может выдавать ошибку 404.

Есть и второе решение, можно создать для плагина настоящую страницу через консоль вордпресс, и соединить ее с настройками плагина. Собственно, это я и сделала.

Описывать полностью данную процедуру не буду, мне помогал в этом вот эта статья (спасибо автору). Там пошагово расписаны все пункты управления собственной страницей для плагина. 

У меня были еще небольшие проблемы с настройкой плагина, но это все было из-за моей невнимательности 🙂 А в целом, плагин действительно хорош. С его помощью можно без труда прописать согласие с политикой конфиденциальности сайта, что на сегодняшний день становится необходимым.

Как выделить комментарии автора?

Отредактировала стили. Путь /мой сайт/public_html/wp-content/themes/название_темы/slyle.css

Нашла строку .bypostauthor — она у меня была пустая, и прописала свой стиль

.bypostauthor {
 background: #f3f1f1;
 border-color: #4a913e;

Стиль редактировала прямо в менеджере файлов. Напоминаю, что хостинг Beget это позволяет.

Визуальный редактор для комментирования

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

Если хотите предоставить подписчикам выбор шрифтов, цвета и различных вставок, то плагин ark-commenteditor решит этот вопрос буквально в два клика мышкой. Плагин чрезвычайно прост в установке и настройке, поддерживает два редактора: TinyMCE и CKEditor. Страница плагина здесь, автор наш соотечественник, Каратаев Александр. 

Также у Александра я нашла еще один хороший плагин ark HideCommentLinks. Плагин закрывает ссылки на сайты комментаторов, и делает их кликабельными. Ссылки недоступны для индексирования поисковиками, и открываются в новом окне. Очень удобно. 

Защита от спама в комментариях

У меня установлен плагин NoCaptcha ReCaptcha с первого дня жизни блога, и в начале я установила проверку каптчи везде, где только можно 🙂  Спустя некоторое время, когда я начала редактировать форму комментариев, я увидела насколько неудобно это может быть для читателей. В итоге, каптчу оставила только в форме обратной связи. 

Периодически различные боты шлют мне письма счастья, но плагин Akismet легко справляется с нежелательными письмами. Установила его не сразу, так как думала, что плагин платный, пока не обратила внимание, что на странице регистрации можно подвинуть бегунок суммы оплаты до нуля.

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

Заключение

Вообще, вордпресс предлагает различные решения иметь на своем сайте привлекательную и удобную форму комментариев. Конечно, в основном все решается с помощью плагинов. Меня же вполне устраивает те комментарии вордпресс, которую имеет движок изначально, и не вижу смысла перегружать сайт плагинами. Хотя, на вкус и цвет, как говорится. 

Если вдруг вы обнаружите, что на моем блоге комментарии работают не очень корректно, прошу меня оповестить 🙂 Хотя я стараюсь всегда смотреть на функциональность блога со стороны пользователя, а не только владельца. На этом у меня все.

С уважением к читателю, Алена

5 комментариев

    • АленаАвтор 08.10.2017 Ответить
    • АленаАвтор 08.10.2017 Ответить

Оставить комментарий

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