Происходящие добавить комментарий comment. Разрешаем пользователям оставлять анонимные комментарии в WordPress. Недостатки системы Cackle

Пришло время серьезно заняться оформлением внешнего вида комментариев 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.

    Система комментирования 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, воспользуйтесь

    Здравствуйте!

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

    Начну с того, что в каждом шаблоне (теме) WordPress есть файл comments.php , Полный путь к нему от корневого каталога: /wp-content/themes/папка_шаблона/comments.php

    Именно comments.php отвечает в целом за блок комментариев в конкретной теме WordPress.

    Что чаще всего содержится в comments.php:

    – проверка защиты комментариев паролем

    – проверка разрешены ли комментарии к статье

    – проверка наличия комментариев и вывод соответствующего текста (“Комментариев нет …” или “Оставлено n комментариев”)

    вызов функции вывода комментариев – wp_list_comments()

    – вывод навигации (пейджинации) при многостраничном размещении комментариев

    – вывод формы для оставления комментариев к статье

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

    Когда я перечислял содержимое файла comments.php , то специально отметил подчеркиванием, что в comments.php происходит всего лишь вызов функции вывода комментариев wp_list_comments() , но не сам вывод. Т.е. в comments.php вы не найдете (по крайней мере, в последних версиях WordPress и при правильном подходе к разработке шаблонов): вывод имени автора сообщения и ссылки на его сайт, вывод аватарки автора, вывод даты и времени комментария, самого комментария и ссылки “ответить”.

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

    Для начала нужно выяснить используется ли в вашем шаблоне пользовательская функция для вывода комментариев.

    Вызов функции wp_list_comments() возможен без колбэка (callback – функция обратного вызова) и с колбэком.

    1. Вызов wp_list_comments без колбэка:

    Т.е. в параметрах функции (то что в скобочках, после названия) нигде не фигурирует параметр с названием ‘callback’.

    Если в comment.php вашего шаблона такая ситуация, то это означает, что в данной теме нет собственной (пользовательской) функции для вывода комментариев и для этого используется стандартный шаблон (шаблон из ядра WordPress). Расположен он файле . А поскольку , то в данном случае изменить стили отображения комментариев не получится, пока мы не прейдем ко второму варианту.

    2. Вызов wp_list_comments с колбэком:

    "type=comment&avatar_size=48&callback=custom_comment" ) ; ?>

    callback=custom_comment указывает, что для вывода комментариев у нас есть пользовательская функция custom_comment , код которой, грубо говоря, мы и передаем в качестве параметра для исполнения в стандартную функцию wp_list_comments . Но нас интересует больше не техническая сторона этого вопроса, а именно наличие в шаблоне собственной функции для вывода комментариев. Код этой функции расположен в .

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

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

    get_comment_author_link() – получает html ссылку на сайт автора текущего комментария;

    get_comment_date() – получает дату комментария;

    get_comment_time() – получает время комментария;

    comment_text() – выводит текст комментария;

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

    Например, в коде пользовательской функции фрагмент вывода аватарки:

    < div class = "comment-author" >

    < / div >

    Теперь осталось в style.css задать желаемые свойства классу comment-author . Подробней конкретные примеры изменения стилей рассмотрю в одной из следующих статей.

    Теперь у вас может возникнуть вопрос: “Что делать, если в моем шаблоне нет пользовательской функции для вывода комментариев?

    Ответ: нужно создать её.

    Самый простой вариант – скопировать код стандартной функции WordPress comment() .

    Инструкция по созданию пользовательской функции для вывода комментариев:

    1. Откройтефайл /wp-includes/comment-template.php и найдите в нем функцию comment() .

    Вот начало её описания

    /** * @since 3.6 * @access protected * * @param object $comment Comment to display. * @param int $depth Depth of comment. * @param array $args Optional args. */ protected function comment($comment, $depth, $args) {

    * @since 3.6

    * @access protected

    * @param object $comment Comment to display.

    * @param int $depth Depth of comment.

    * @param array $args Optional args.

    protected function comment ($ comment , $ depth , $ args ) {

    2. Скопируйте все тело функции comment() .

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

  •