WordPress комментарии – полное оформление внешнего вида. Тонкая настройка формы комментирования Но все же, как заставить читателя оставить комментарий

WordPress комментарии – полное оформление внешнего вида. Тонкая настройка формы комментирования Но все же, как заставить читателя оставить комментарий

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

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

Вот что мы сделаем:

  • Полная пользовательская настройка
  • Оформление внешнего вида
  • Нумерация комментариев
  • Подсчет сообщений каждого пользователя
  • Присвоить статус каждому пользователю
  • И прочее мелочи

Разберем каждый пункт в отдельности, а в конце статьи будет уже полностью собраны все функции в один готовый код.

Пользовательская настройка комментариев

В WordPress’e вывод комментариев осуществляется через функцию wp_list_comments , обычно в файле comments.php . А формирование отдельных функций так же, как и сам цикл, используется из шаблона системного файла comment-template.php . Но в редких случаях бывает, что настройка может находиться в теме WordPress, файл functions.php или comments.php .

Так вот, если ваша тема не попадает в редкий случай и есть необходимости сделать свои настройки, тогда открываем файл functions.php и перед знаком?> добавляем следующий код:

If (! function_exists("my_comment")) : function my_comments($comment, $args, $depth) { global $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment->comment_type) : case "pingback" : case "trackback" : ?>

  • ", ""); ?>
  • id="li-comment-">
    comment_parent) $avatar_size = 39; echo get_avatar($comment, $avatar_size); /* translators: 1: comment author, 2: date and time */ printf(__("%1$s %2$s", "my_press"), sprintf("%s", get_comment_author_link()), sprintf("", esc_url(get_comment_link($comment->comment_ID)), get_comment_time("c"), /* translators: 1: date, 2: time */ sprintf(__("%1$s %2$s", "my_press"), get_comment_date(), get_comment_time()))); ?>
    comment_approved == "0") : ?>
    __("Reply", "my_press"), "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>
    ", ""); ?>

    Затем в файле comments.php добавить функцию вызова:

      "my_comments")); $commentnumber = 0; ?>

    После этих манипуляций ваши комментарии будут формироваться по шаблонной функции из файла functions.php текущей темы.

    Подсчет комментариев каждого пользователя

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

    Открываем уже знакомый нам файл functions.php и прописывает в конце перед знаком?> следующий код:

    //подсчет сообщений пользователей function bac_comment_count_per_user() { global $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM ". $wpdb->comments. " WHERE comment_author_email = "" . get_comment_author_email() ."" AND comment_approved = "1" AND comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) { echo " 1 Сообщение"; } else { echo " " . $comment_count . " Сообщений"; } }

    Теперь осталось добавить функцию вызова в нужное вам место:

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

    Присваиваем статус каждому пользователю в зависимости от количества его комментариев

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

    Снова открываем файл functions.php и перед знаком?> добавляем следующий код:

    //статус пользователя function get_author_class($comment_author_email,$user_id){ global $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT comment_ID as author_count FROM $wpdb->АдминUseR"; if($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $author_count<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $author_count<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $author_count<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$author_count<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $author_count<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>Профессор"; }

    И в желаемом месте выводим функцию вызова:

    comment_author_email,$comment->user_id)?>

    Объяснение: функция, как и предыдущая, связана с электронной почтой юзера. Только здесь основной задачей является непросто счет сообщений, а количество от и до в зависимости от установленного числа. И как только пользователь достигает его он получает определенную должность. Всего статусов имеется 7, плюс админ и знак отличия для зарегистрированных участников.

    Полностью готовый код комментариев

    Вот мы и подошли к концу этой статьи. Тут я не поленился, собрав все функции, включая настройку комментариев в один готовый код. Добавил свои стили оформления внешнего вида и в результате получилось что-то вроде мини-форума.

    Открываем файл functions.php и в конце перед знаком?> добавляем следующий код:

    //подсчет сообщений пользователей function bac_comment_count_per_user() { global $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM ". $wpdb->comments. " WHERE comment_author_email = "" . get_comment_author_email() ."" AND comment_approved = "1" AND comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) { echo " 1 Сообщение"; } else { echo " " . $comment_count . " Сообщений"; } } //статус пользователя function get_author_class($comment_author_email,$user_id){ global $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = "$comment_author_email" ")); if($comment_author_email ==$adminEmail) echo "Админ"; if($user_id!=0 && $comment_author_email !=$adminEmail) echo "UseR"; if($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $author_count<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $author_count<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $author_count<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$author_count<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $author_count<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>=1200 && $comment_author_email !==$adminEmail) echo "Профессор"; } //пользовательская настройка комментариев if (! function_exists("wordsmall_comment")) : function wordsmall_comment($comment, $args, $depth) { global $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment->comment_type) : case "pingback" : case "trackback" : ?>

  • id="li-comment-">
    %s", get_comment_author_link()); ?> comment_parent){ $comment_parent_href = htmlspecialchars(get_comment_link($comment->comment_parent)); $comment_parent = get_comment($comment->comment_parent); ?> @ Ответ для: comment_author;?>
    comment_parent) $avatar_size = 60; echo get_avatar($comment, $avatar_size); ?> comment_author_email,$comment->user_id)?>
    comment_approved == "0") : ?>
    ", ""); ?> __("Ответить", "wallpress"), "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>

    Теперь откройте файл comments.php , находим в нем функцию вызова комментариев. Выглядит примерно так:

    Меняем на эту:

      "wordsmall_comment")); ?>

    Заключительный шаг. Открываем файл style.css и в конце прописываем следующие стили:

    My_commentlist{ border-top:none; } .my_commentlist .comment{ padding:0 0 15px 0; border:none; } .my_commentlist .pingback{ padding:0 0 15px 0; border:none; } .my_commentlist .comment .children { list-style-type: none; padding:0px; margin-left:0px;/*если нужен отступ для древовидных ком. поставьте 15px*/ } .my_commentlist .comment .children .comment{ margin:15px 0 0 0; border:none; padding: 0; } #comments { background: #fff; } #comments .my_commentlist { margin: 10px 0; padding: 0; list-style:none; background: #ebf0f3; padding: 5px; } #comments .my_commentlist .comment { margin:0; padding: 0 0 10px; background: #fff; } #comments .my_commentlist .my_comment-author { display: inline; border-right: 1px solid #e0e0e0; width: 100px; float: left; margin: 0px 15px 10px 0; } #comments .my_commentlist .commentmetadata { float:left; } #comments .my_commentlist p { clear:none; color: #555; font: 14px arial; line-height: 23px; } #comments .my_commentlist .comment-content { margin-left: 116px; padding-right: 10px; } #comments .my_commentlist .reply { text-align:right; } #comments .my_commentlist .reply a{ background: #f5f5f5; border: 1px solid rgba(0, 0, 0, 0.06); border-radius: 2px; color: #515456; display: inline-block; font-size: 13px; font-weight: normal; line-height: 30px; margin-right: 15px; min-height: 30px; padding: 0 12px; text-align: center; text-decoration: none; } .my_commentlist .avatar{ border: medium none; border-radius: 50%; float: none; margin: 5px auto; padding: 0px; display: table; } .my_commentlist .comment-header{ height: 30px; background: #DEE5EB; margin-bottom: 15px; } .my_commentlist cite.fn{ color: #444; font: bold 13px/30px arial; padding-left: 10px; } .my_commentlist .com_date { color: #8ca0b5; font: normal 13px/30px arial; float: right; padding-right: 15px; } .my_commentlist .commentnumber { color: #8ca0b5; float: right; font: italic 13px/30px arial; padding-right: 15px; } .my_commentlist .comment-body { overflow: hidden; position: relative; background:#fff; } .my_commentlist .rep-authorcom { color: #25394e; font-size: 13px; line-height: 30px; } .my_commentlist .edit-link a { background: none !important; border: none !important; border-radius: 0 !important; color: #999!important; display: inline-block; font-size: 11px !important; font-weight: normal; line-height: 30px; margin-right: 5px !important; min-height: 30px; padding: 0 !important; text-align: center; text-decoration: none; } .com_per { border: medium none; color: #666; display: block; font-size: 11px; text-align: center; } .vip1,.vip, .vp, .vip2, .vip3, .vip4, .vip5, .vip6, .vip7 { border: medium none; font: bold 13px arial; display: block; text-align: center; margin-bottom: 5px; text-decoration: none; } .vp {color: #e82e24;} .vip1 {color: #348be8;} .vip2 {color: #BE005E;} .vip3 {color: #2e517e;} .vip4 {color: #658a18;} .vip5 {color: #00A56D;} .vip6 {color: #e35d28;} .vip7 {color: #99A400;} .vip {color: #4c5176;font-size: 11px;margin: 0;}

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

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

    Способ №1

    Для первого способа, вы должны в папке с темой, что установлена у вас на сайте, найти файл comments.php . Если такой есть, открыть его и поискать в нем массив, отвечающий за настройки и вывод содержания формы комментариев. Выглядит он примерно так:

    $args = array("comment_notes_before" => "

    ", "comment_field" => "

    ", "id_submit" => "comm_subm", "label_submit" =>

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

    "title_reply" => "Оставить свой отзыв",

    Как понимаете - Оставить свой отзыв , это и есть новое название вместо - Добавить комментарий. Добавить такой параметр можно в конец или в начало массива. Получится как-то так:

    $args = array("title_reply" => "Оставить свой отзыв", "comment_notes_before" => "

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

    ", "comment_field" => "

    ", "id_submit" => "comm_subm", "label_submit" => "Отправить",); comment_form($args);

    Добавлено в начало и теперь, на страницах записей будет выводится строка - Оставить свой отзыв. Этот способ не сложный и требует минимальных сил, главное правильно определить массив. Но иногда так бывает, что внутри темы нет файла comments.php или в нем нет массива и вы не знаете как правильно его туда добавить, тогда вам поможет второй способ.

    Способ №2

    Суть второго способа заключается в том, чтобы добавить новую функцию, которая и сделает замену названия. Для этого в папке с активной темой, нужно найти файл function.php с пользовательскими функциями и в удобное место, если не знаете такого, то в самый конец перед закрывающим тегом PHP - ?> , если такого нет, то просто в самый конец, добавить вот такой код:

    Function wph_change_submit_label($defaults) { $defaults["title_reply"] = "Оставить свой отзыв"; return $defaults; } add_filter("comment_form_defaults", "wph_change_submit_label");

    Бонус

    Это то же самое, по сути что делалось и в первом способе, просто, там мы внедряли непосредственно в массив, а тут через фильтр. После этих действий, вы увидите изменение в названии. Как и в первом способе, можете поменять текст - Оставить свой отзыв, на тот что вам нравится. Данный текст указан как пример.

    Еще хочу предложить и обратить внимание на склонение слова Комментарии. Если у вас выводит в форме строку - Опубликовано 1 комментарий или Комментариев: 10. Можете воспользоваться Функцией из статьи . Если вы уже пользуетесь ней, то рекомендую в строке с массивом:

    Array("комментарий","комментария","комментариев")

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

    Вот такую информацию, хотел сегодня вам предоставить. Возможно, кому-то она станет полезной.

    На этом все, спасибо за внимание. 🙂

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

    Псевдоним: Идеальное решение

    Самый лучший способ разрешить анонимные комментарии в WordPress — поощрять пользователей использовать псевдонимы или никнеймы вместо реального имени.

    Это позволит вам построить сообщество, и в то же время вы разрешите пользователям оставаться анонимными. Комментаторам все равно придется оставлять свой email адрес, однако большинство людей, желающих оставаться неизвестными, будут пользоваться дополнительным ящиками.

    Вы можете прописать такие варианты в политике комментариев и указать сквозную ссылку на них над формой комментариев.

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

    Делаем поля Имя и Email необязательными

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

    Первым делом вам необходимо перейти в раздел Параметры » Обсуждение административной панели сайта и снять галочку с «Автор комментария должен указать имя и e-mail». Теперь необходимо сохранить изменения и ваш сайт будет принимать комментарии без имени и почты.

    Простое убирание этого чекбокса не сообщит пользователям о том, что теперь они могут оставлять комментарии без указания имени или почты. Уведомить их об этом можно, пометив соответствующие поля не обязательными. Также мы советуем убрать поле Сайт, чтобы уменьшить количество спама. Для этого необходимо модифицировать вашу форму комментирования. Просто скопируйте и вставьте следующий код в файл functions.php вашей темы или в :

    Function wpb_alter_comment_form_fields($fields) { // Модифицируем поле Имя и отображаем его не обязательным $fields["author"] = "

    " . " " . ($req ? "*" : "") . "

    "; // Модифицируем поле Email и отображаем его не обязательным $fields["email"] = ""; // Эта строка убирает поле Сайт из формы комментирования. $fields["url"] = ""; return $fields; } add_filter("comment_form_default_fields", "wpb_alter_comment_form_fields");

    Этот код просто добавляет (Не обязательно) к полям Имя и Email в вашей форме комментариев. Также он убирает поле Сайт из нее. Если же вы хотите оставить «Сайт», то просто удалите соответствующие строки кода. Вот так будет выглядеть ваша форма комментирования:

    Как полностью убрать поля Имя и Email из формы комментариев

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

    Function wpb_alter_comment_form_fields($fields) { unset($fields["author"]); unset($fields["email"]); unset($fields["url"]); return $fields; } add_filter("comment_form_default_fields", "wpb_alter_comment_form_fields");

    Если ваша форма отображает текст Your email address will not be published (Ваш email не будет опубликован), то вы можете скрыть ее путем редактирования файла comments.php темы. Найдите тег и замените ее следующим кодом:

    "

    " . __("Имя и email адрес не требуются.") . ($req ? $required_text: "") . "

    ")); ?>

    Если вы не можете найти comment_form , то вы можете просто скрыть этот текст путем добавления следующего кода CSS в вашу тему либо в дочернюю, в файл style.css :

    Comment-notes { display:none; }

    Вот так ваша форма комментариев будет выглядеть без полей имени, email и сайта:

    Предупреждение об анонимных комментариях

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

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

    Дмитрий Дементий

    Удобство и функциональность системы комментирования влияет на вовлеченность аудитории и количество комментариев на сайте. В этой статье вы найдете обзоры лучших внешних систем комментирования, которые помогут вам выбрать оптимальное решение.


    Зачем нужны внешние системы комментирования

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


    Сторонние сервисы комментирования обеспечивают следующие возможности:

    • Удобство авторизации для участия в дискуссии. Здесь нужно найти баланс между желанием пользователя как можно быстрее оставить комментарий и необходимостью получить данные о комментаторе со стороны владельца ресурса.
    • Вовлечение аудитории в обсуждение. Сторонние сервисы уведомляют пользователей о появлении новых комментариев.
    • Хранение комментариев. Сторонние системы хранят комментарии пользователей на своих серверах. Это экономит дисковое пространство и уменьшает нагрузку на сервер владельца сайта.
    • Возможность оценивать комментарии.
    • Возможность рекомендовать комментарии.
    • Расширение охвата аудитории за счет автоматической публикации комментариев в профилях пользователей в социальных сетях.
    • Возможность вставлять в комментарии визуальный контент.

    Ниже вы найдете обзоры возможностей наиболее удобных систем внешнего комментирования.

    Какие альтернативные системы комментирования можно использовать на сайте

    Владельцам сайтов доступны платные и бесплатные сервисы комментирования. В мини-обзорах есть общая информация о каждой системе, а также инструкции по установке и настройке на сайтах под управлением WordPress.

    Система комментирования Disqus

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

    Благодаря популярности сервис Disqus можно считать эталоном или отправной точкой для оценки других внешних систем комментирования.

    Как установить Disqus на сайт


    На странице настроек сайта укажите название ресурса и выберите URL на платформе Disqus. С помощью выпадающего меню определите категорию, к которой относится ваш сайт. Нажмите кнопку Next.


    На следующем шаге выберите план. Доступны следующие варианты:

    • Базовый. Бесплатный план для любых сайтов, в системе комментирования отображается реклама. Disqus делится доходами от рекламы только с сайтами, которые соответствуют внутренним критериям платформы.
    • Plus. Стоимость подписки – 9 долларов в месяц. План позволяет выключить рекламу. Для некоммерческих сайтов, личных блогов, которые не показывают рекламу, план Plus можно подключить бесплатно. Количество просмотров не должно превышать 50 000 в сутки.
    • Pro. Стоимость 89 долларов в месяц, количество просмотров страниц не более 150 000 в сутки. В профессиональном плане есть дополнительная функциональность: расширенная аналитика, приоритетная поддержка, расширенные возможности модерирования.


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


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


    Система предложит вам инструкцию по установке плагина Disqus для WordPress. Действуйте так:

    • В консоли WP выберите меню «Плагины – добавить новый».
    • В поле «Поиск плагинов» введите запрос Disqus.
    • Установите и активируйте плагин.
    • На странице установленных плагинов в строке Disqus Comment System выберите меню Configure.


    • Система предложит обновить базу данных. Примите предложение.


    • Введите данные доступа к профилю Disqus.
    • Выберите сайт, на который устанавливаете систему комментирования.
    • Экспортируйте в Disqus комментарии, которые пользователи оставили до установки системы. Для этого перейдите в меню настроек плагина. В разделе Import and Export нажмите кнопку Export Comments.


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


    Настройки системы комментирования Disqus

    Перейдите в меню настроек сообщества на сайте Disqus. На вкладке Settings в разделе General укажите URL сайта. Убедитесь, что напротив опции Enable recommendations for your site установлен флаг. Выберите язык интерфейса комментариев. Сохраните изменения.


    В разделе Community в поле Moderator Badge Text выберите текст, который будет отображаться напротив имени пользователей с правами модераторов. С помощью выпадающего меню выберите принцип отображения комментариев. Доступны следующие вариант: сверху новые, сверху старые и сверху лучшие.


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

    Установите флажок напротив опции Links in Comments. В этом случае система автоматически отправит на модерацию любые комментарии со ссылками. Убедитесь, что напротив опции Media Attachments установлена галочка. Это разрешение публиковать в комментариях изображения и видео.


    Установите флажки напротив двух опций в разделе Flagged Comments. Так вы позволяете пользователям оповещать модераторов о нежелательных комментариях. Также после указанного с помощью выпадающего меню числа отметок система скроет подозрительный комментарий до рассмотрения жалобы модератором. Сохраните изменения.


    В личном кабинете Disqus на вкладке Community вы можете следить за количеством комментариев и отметок «Нравится» и «Не нравится», назначать модераторов, импортировать и экспортировать комментарии. Обратите внимание, экспорт комментариев в Disqus позволяет создать резервную копию файла с комментариями. Эту функцию нельзя использовать, чтобы перенести пользовательский контент в альтернативную систему комментариев.

    Обратите внимание на функцию Word Filter. В соответствующем меню можно добавить стоп-слова, при использовании которых система отправит комментарий в папку «Спам».


    В меню Moderate Comments отображаются все комментарии. Обратите внимание, комментарии на проверке находятся в папке Pending. Они не отображаются на сайте, если их не одобрил модератор. На вкладках Spam и Deleted можно просмотреть спам-сообщения и удаленные комментарии.

    Полезный совет: быстро одобрить или удалить комментарий можно с помощью электронной почты. Для этого достаточно ответить на электронное письмо с уведомлением о новом сообщении на сайте. Чтобы одобрить комментарий, в ответе укажите Approve, чтобы удалить или отправить в папку спам укажите Delete и Spam соответственно.

    Недостатки Disqus

    Самая популярная внешняя система комментирования имеет несколько недостатков. Вот наиболее важные из них:


    • По некоторым данным, Disqus снижает вовлеченность аудитории. Например, летом 2015 года блог о CMS WordPress WPBeginner отказался от Disqus из-за жалоб читателей. После этого количество комментариев увеличилось на 304 % .
    • Непонятная ситуация с индексацией комментариев. Поисковики индексируют их с перебоями. Например, оставленные два месяца назад к одной из публикаций в блоге «Текстерры» комментарии до сих пор остаются уникальными. Написанные год назад комментарии проиндексированы, но в качестве источника система Text.ru показывает сайт Disqus..
    • Отсутствие бесплатного тарифа для коммерческих сайтов.


    Популярность и функциональность превратили Disqus в эталонную внешнюю систему комментирования. Ее достоинства и недостатки можно использовать при оценке альтернативных сервисов.

    Сервис комментирования Cackle

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

    Как установить Cackle на сайт

    После регистрации и подтверждения аккаунта система предложит создать новый виджет. Укажите URL сайта и название виджета и нажмите кнопку «Продолжить».


    Система предложит универсальный код виджета или код для популярных CMS. Выберите нужный вариант.


    Чтобы использовать систему Cackle на сайте под управлением WordPress, установите плагин Cackle . В консоли WordPress выберите меню «Комментарии – Cackle настройки». Скопируйте из административной панели Cackle сгенерированные ключи к API и ID сайта. Вставьте их в соответствующие поля в меню настроек плагина в WordPress. Активируйте виджет.


    Экспортируйте существующие комментарии в систему Cackle. Синхронизируйте виджет с базой данных WordPress.


    Между прочим:

    Интерфейс формы комментирования Cackle очень похож на интерфейс Disqus. Пользователям, знакомым с Disqus, будет просто использовать Cackle.


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


    Как настроить систему комментирования Cackle

    Чтобы использовать все возможности сервиса, уделите внимание настройкам. В административной панели Cackle выберите соответствующее меню. На вкладке «Общие» уделите внимание пункту «Удаление комментариев». Вы можете запретить эту возможность или разрешить в течение нескольких минут после публикации. Также в общих настройках можно выбрать текст значка модератора и изменить порядок расположения иконок социальных сервисов, через которые можно авторизоваться.


    В расширенных настройках обратите внимание на следующие пункты:

    • Включите премодерацию комментариев, содержащих ссылки.
    • Снимите флажок напротив поля «Гостевые комментарии». Анонимные комментарии не способствуют вовлечению пользователей и доверию к ресурсу.
    • Снимите флажок напротив пункта «Кросспостинг». В этом случае система не будет автоматически публиковать комментарии в социальных сетях.

    Остальные настройки измените на свое усмотрение или сохраните вариант по умолчанию.


    На вкладке «Внешний вид» обратите внимание на пункт «Пагинация». Пагинация ухудшает юзабилити комментариев. Чтобы решить проблему, с помощью выпадающего меню укажите пункт «Выбрать» и укажите большое значение в поле «Максимальное число комментариев на странице».


    На вкладке «Капча» можно подключить сервис reCAPTCHA от Google , а на вкладке «Спам защита» есть возможность подключить антиспам-сервис Akismet.

    Модерировать комментарии можно в консоли WordPress или в административной панели на сайте Cackle. Также вы можете установить мини-виджет модерации. С его помощью модерировать комментарии можно непосредственно на сайте.

    Недостатки системы Cackle

    Cackle - платный сервис. Это его главный недостаток по сравнению с Disqus. Стоимость использования на одном сайте составляет 200 рублей в месяц. Стоит ли тратить деньги ради возможности авторизации пользователей через «Вконтакте» и «Одноклассники»? Это главный вопрос, по результатам ответа на который владелец конкретного сайта должен принимать решение.

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


    Система HyperComments

    HyperComments - платная система комментирования, которая поддерживает авторизацию с помощью профилей в популярных в рунете сетях. Пользователям доступны три тарифа:

    • Personal. Стоит 24 доллара в год, можно использовать на одном сайте. Поддерживает до 500 тыс. загрузок виджета в месяц.
    • Professional. Три сайта, 120 долларов в год, до 2 млн загрузок виджета в месяц.
    • Enterprise. 480 долларов в год, сколько угодно сайтов, до 6 млн загрузок виджета в месяц.


    Кроме авторизации через «Вконтакте», HyperComments имеет другие важные преимущества. Это функция гиперкомментариев, которая позволяет выделять фрагмент текста и обсуждать его. Также комментаторы могут делиться цитатами со своими подписчиками. Подробнее о возможностях системы дальше.

    Как установить и настроить HyperComments


    Нажмите кнопку «Далее». Система перенаправит вас на страницу плагина HyperComments в каталоге WordPress. Установите и активируйте плагин. В консоли сайта выберите меню «Комментарии – HyperComments» и авторизуйтесь с помощью аккаунта Google. На странице настроек выберите вкладку Settings. Импортируйте в систему существующие комментарии.


    Остальные базовые настройки можно не менять. Расширенные настройки доступны на вкладке Comments в соответствующем меню.


    В разделе «Общие» включите уведомления администратора и модераторов о публикации нового комментария. При необходимости включите премодерацию всех комментариев.


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


    В разделе «Цитаты» включите соответствующий виджет. Он позволяет пользователям выделять отрывок текста и делиться им с подписчиками в социальных сетях.


    В разделе HyperComments сохраните настройки по умолчанию. Эта функция позволяет комментировать отдельные фрагменты текста.


    В разделе «Стереокомментарии» можно включить соответствующую функцию. Она объединяет комментарии в две колонки: сообщения автора и всех пользователей. При необходимости можно добавить в колонку автора логотип компании.



    Недостатки системы HyperComments

    Главный недостаток системы - отсутствие бесплатного тарифа.

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

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

    Система комментирования IntenseDebate

    IntenseDebate - внешняя система комментирования, которую разработала корпорация Automattic Inc. Один из главных проектов компании - сервис хостинга сайтов WordPress.com. Поэтому IntenseDebate особенно удачно интегрируются с CMS WordPress.

    IntenseDebate - бесплатный сервис. Его функциональность не уступает эталонному Disqus. Система обеспечивает владельцам сайтов следующие возможности:

    Чтобы воспользоваться возможностями системы, установите ее на сайт и настройте.

    Как установить и настроить IntenseDebate

    После регистрации в системе перейдите на страницу установки системы комментирования . Укажите URL ресурса. Если вы пользуетесь WordPress, установите и активируйте плагин IntenseDebate. Авторизуйтесь на странице настроек в консоли WP.



    В личном кабинете на сайте IntenseDebate включите уведомления о публикации новых комментариев. Переключите язык на русский.


    В меню Layout личного кабинета при необходимости измените внешний вид кнопок, размер аватаров пользователей и уведомлений о новых сообщениях. Для предупреждения пагинации комментариев выберите в поле Comments per page максимальное значение. При необходимости укажите текст, который будет отображаться под формой комментирования.


    В меню Comments включите возможность авторизации с помощью Facebook и Twitter. Воспользуйтесь подсказками системы, чтобы создать приложение Facebook и получить ключ API. Установите флаг напротив меню Enable «Report this comment» button. Вы включите кнопку «Пожаловаться на комментарий». Выберите вариант отображения трэкбэков. Они могут публиковаться вместе с пользовательскими комментариями или в отдельной области. Для большинства проектов подходит второй вариант.


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

    • Статистика комментариев - показывает количество комментаторов и сообщений.
    • Последние комментарии.
    • Популярный публикации. Этот виджет отображает список наиболее обсуждаемых постов.
    • Активные комментаторы. Надстройка отображает десять наиболее активных пользователей со ссылкой на их профили в IntenseDebate.


    Модерировать сообщения можно в консоли WordPress в меню «Комментарии».

    Недостатки системы IntenseDebate

    Главный недостаток IntenseDebate - отсутствие интеграции с популярными в рунете сетями, например, «Вконтакте». Для участия в дискуссиях пользователям придется авторизоваться с помощью аккаунтов в Facebook, Twitter, WordPress.com, регистрироваться на IntenseDebate или указывать имя и электронный адрес.

    Tolstoy comments

    Разработчики позиционируют Tolstoy comments в качестве бесплатной системы построения сообщества пользователей сайта . Это не система комментирования в традиционном виде, а виджет чата, в котором могут общаться читатели. Процесс общения игрофицирован с помощью системы значков и рейтингов.

    Как установить Tolstoy comments на сайт

    После регистрации на платформе система предложит вставить код виджета на все страницы сайта.


    Если все сделано верно, на сайте появится виджет комментариев.


    В панели управления на сайте Tolstoy comments настройте размеры виджета. Выберите подходящее время загрузки виджета. Остальные настройки можно не менять.



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

    Пользователи могут оценивать комментарии. А за активность система присваивает комментаторам значки.


    На каждой странице сайта виджет создает отдельный чат. Но список чатов доступен пользователям с любой страницы сайта по ссылке «Все чаты».

    Недостатки системы Tolstoy comments

    Главный недостаток – хранение комментариев на сервере Tolstoy comments, а не в базе данных сайта. Из-за этого пользовательский контент не индексируется. Разработчики планируют в будущем решить эту проблему.

    В обсуждения на сайте Tolstoy comments пользователи говорят, что виджет замедляет работу сайтов. На тестовой площадке такого эффекта я не заметил.


    Альтернативы универсальным системам

    Вместо универсальных кроссплатформенных решений некоторые владельцы сайтов устанавливают форму комментирования одной социальной сети. Обычно это Facebook или «Вконтакте». На некоторых ресурсах есть сразу две формы комментирования.

    Чтобы установить форму комментирования Facebook, воспользуйтесь

    (в которой мы убирали теги h3 в заголовке перед формой комментирования) — сегодня заставим функцию формы комментов WP работать целиком по нашим правилам:

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

    Нынче мы запросто выполним нашу цель, всего лишь редакцией файла функций. И коли вы чувствуете в себе силы редактировать код сайта (этот способ чуть сложнее от того, который описан ранее)…

    Начнём концерт:

    стоит ли редактировать ядро WordPress

    Как известно, править ядро WordPress (файлы CMS) не рекомендованное занятие, в большей степени из-за того, что после обновления движка теряются наработки! Тем паче у начинающих администраторов ресурсов, эти обновления вордпресс совершаются внезапно (без их ведома) как этого избежать, читайте в этой .

    стоит ли обновлять WordPress

    Непременно да! …тут не может быть и разногласий! …однако это чревато, как и говорилось, тем что обновление движка затирает редакции администратора!

    Посему многие веб мастера, для более гибких настроек своего сайта, используют всевозможные фильтры (хаки): тоже неплохо! Однако я (и не только один я) предпочитаю какие-то второстепенные (относительно важности постоянных обновлений) функции ядра WP переносить в корень шаблона.

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

    Приступим к редакции, но!!

    …напоминаю всякий раз: заведите какой-то документ «запоминалку» всех совершаемых эксов с блогом. Копируйте редактируемые файлы. Пригодится!

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

    Что нам нужно для достижения цели:

    перенести из ядра WP (из файла comment-template.php) отработку функции comment_form в директорию шаблона.

    где найти файл comment-template.php

    Переходим по этому пути ваш_домен/wp-includes файл comment-template.php

    …открываем его (или прямо на хостинге — я делаю так), или скачиваем и редактируем в Нотепад++ — читать: как настроить Notepad++

    Ищите такую строку (примерный № строки 2111)

    function comment_form($args = array(), $post_id = null) {

    do_action("comment_form_comments_closed");

    Всё это копируете и переносите к себе в файл функций functions.php .

    Обычно, все новые добавления кода помещают перед закрывающим тегом?> . Но я рекомендую добавляемый код группировать, так сказать, по теме, тогда всё запросто при необходимости отыщете.

    Следующим шагом будет изменение имени функции: можете назвать её как угодно душе, хоть именным вензелем обозначить… У меня получилось так:

    function my_my_ comment_form

    Сохраняем наработки…

    …и переходим в файл вашей темы comments.php .

    В этом файле нам нужно поменять имя вызова функции, на то, которым обозвали на первом шаге:

    Отыскиваете в документе такую фразу (она обычно в его финале): и просто-напросто добавляете my_my_ ну или своё имя.

    Должно получиться так:

    …теперь задача вызова новой функции выполнена: логика шаблона станет использовать именно наш перекопированный в тему код!

    Что нам и требовалось!

    Теперь всё что вам остаётся выполнить, так это подредактировать под свои нужды код новоиспечённой функции my_my_comment_form();

    …или задают индивидуальную отработку placeholder — посмотрите как выглядит это у меня:

    …у меня в окошке формы комментирования расположен вензель «Ваш комментарий…» который исчезает, как только комментатор набирает своё послание…

    …и тому… и тому… подобное.

    Есть какие-то вопросы по добавлению/уборке элементов формы комментирования, пишите, разберёмся…

    или вот можете почесть пост о полезных сниппетах (