sonyps4.ru

Ботвинья добавить комментарий comment. Делаем супер форму комментариев WordPress

Добрый день, друзья!

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

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

Я не знаю, зачем вам необходимо убирать комментарии, но если уж на то пошло, то инструкция в полном объеме перед вами снизу.

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

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

Отключаем комментирование новых статей

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

Делается все очень просто через админ-панель WordPress. Сначала заходим в пункт "Настройки - обсуждение" и запрещаем оставлять комментарии к новым статьям.

Данный чек-бокс снимаем, чтобы галочки не стояло. Теперь в новых статьях не должно быть формы комментариев. Если же она будет, то при попытке оставить коммент, будет выдавать сообщение "Извините, обсуждение этой записи закрыто".

Если форма не исчезнет, то значит шаблон так устроен и в последнем пункте статьи я объясню, как ее удалить.

Отключение комментариев для всех существующих записей

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

  1. Заходим в список всех записей через пункт "Записи - все записи";
  2. Выделяем все записи чек-боксом;
  3. Выбираем изменение всех записей;
  4. Запрещаем комментарии и обновляем настройки.

Скриншот кликабельный. Можете посмотреть его в полном размере.

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

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


Кнопка находится в самом верху админ-панели с правой стороны. Количество записей ставите свое. Если нужно произвести отключение к 300м записям, то и ставите это значение.

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

Делается все аналогично, как и со статьями, только уже переходим в пункт "Страницы - все страницы".

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

Рассмотрим, как отключать комментарии к определенным статьям.

Убираем комментарии в определенных записях и страницах

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

Сделать можно это:

  • через список всех записей;
  • через редактор записи.

Через список всех записей нужно зайти в свойства статьи и убрать чек-бокс с пункта "Разрешить комментарии".

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


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


То же касается и страниц.

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

Остался последний и, пожалуй, самый сложный шаг.

Убираем форму комментариев с сайта

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

Еще к одному сожалению без редактирования файлов шаблона не обойтись, так как форму выводит php код, который и нужно удалить из файла. Проблема в том, то в каждом шаблоне она выводится по разному. У кого-то она выводится в отдельном файле, а затем просто подгружается из php кода. А у кого-то прямо в файле вывода записей будет содержаться код формы.

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

Для начала я всегда рекомендую пойти в файлы страниц (page.php) и одиночной записи (single.php) и посмотреть на наличие в них кода, выводящего форму. Если такой имеется, то просто его удалить и проблема решена. В моем шаблоне данный код выводится полностью со всеми полями (ввод имени, e-mail, сайта и сообщения).

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

Если он имеется, то находите его начало и конец и удаляете к чертовой...

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

Код формы находится где-то в другом файле (например, comments.php, comments-template.php). Но этот код все равно выводится в одиночную запись и страницы. В шаблоне Twentyfourteen это реализовано следующим образом.


В данном случае код также имеет наличие слов "Comment". Можно его удалить, но в этом нет нужды, так как данный код не выводит форму при отключенном обсуждении.

Может быть такая ситуация, что в файле одиночной записи (single.php) и страницы (page.php) вы не найдете никакого похожего кода, как в первом, так и во втором случае. Тогда форма выводится вместе с контентом. Это немного усложняет задачу, так как в некоторых шаблонах контент может выводиться очень сложными функциями. В этом случае я предлагаю пойти в файла comments.php, comments-template.php (или подобные им) и искать форму там.

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

Данный процесс имеет некоторые сложности для новичка. Особенно, если шаблон замороченный. В любом случае, комментарии на своем сайте я не отключал. Поэтому, при возникновении проблем, пишите свои вопросы.

На этом все, друзья. Пока.

С уважением, Константин Хмелев!

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

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

Отключение комментариев через панель управления

1. Заходим в админку вашего сайта, затем в «Параметры» и «Обсуждение».

2. Здесь мы снимаем галочку со строчки «Разрешить оставлять комментарии на новые статьи».

Отключаем комментарии при редактировании страниц

1. Если у вас на странице добавления или редактирования записи нет пунктов с настройкой обсуждений, то нажимаем «Настройки экрана».

3. И теперь при редактировании страниц, для запрета комментирования убираем галочку с пункта «Разрешить комментарии».

Отключение комментариев к записям

Если вы хотите отключить комментирование к одной записи, то:

1. Наводим курсор мыши на нужную запись и нажимаем «Свойства».

2. Открылись свойства записи. Находим строку «Разрешить комментарии» и снимаем галочку. Нажимаем «Обновить».

Если нужно убрать комментарии у нескольких записей, то делаем следующее:

1. Сначала выбираем те записи у которых нужно убрать комментарии.

2. Теперь выбираем действие с записями.

Выбираем «Изменить». И нажимаем «Применить».

3. Теперь в комментариях меняем «Как есть» на «Запретить». Жмем «Обновить».

Убираем комментарии со всего блога

  1. Чтобы убрать все комментарии с блога нужно зайти в панель управления хостинга, в phpMyAdmin.
  2. Затем найти базу данных вашего сайта (справа).
  3. В появившейся табличке ищем «wp_comments».
  4. Напротив этой надписи находим окно «Browse».
  5. Щелкаем и в ней мы можем отключить комментарии, убрать их или удалить какой-то конкретный комментарий.

Также убрать комментарии в WordPress можно в шаблоне или теме вашего сайта.

  1. Заходим во «Внешний вид», «Редактор».
  2. Ищем файл «Одна запись» single.php и удаляем «».
  3. Находим файл «Шаблон страницы» и удаляем такую же строчку, что и в предыдущем файле.

Вот так разными способами можно отключить или убрать комментарии в WordPress.

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

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

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

Как запретить комментарии в WP к записям и страницам

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

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

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

Как удалить код комментариев в WordPress

Если вам мало просто запретить комментирования ваших статей, то можно полностью удалить код этой функции вручную из самого кода вашей темы. Для этого вам нужно зайти в админпанель, нажать на Внешний вид — Редактор и справа выбираем single.php (одиночная запись).

В этом файлы вам нужно найти следующий код:

Эта функция отвечает за вывод формы комментариев в ваших постах. Если ее удалить, то и оставить отзыв уже никто не сможет, что нам и нужно. Убираем эту строчку и сохраняем наш файл. Те же манипуляции проводим и в файле page.php.

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

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

Способ №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("комментарий","комментария","комментариев")

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

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

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

Лезть в код или не лезть? Раньше мы уже говорили, что форма комментариев немного сложна, и поэтому создатели все максимально упростили.

Функция вызова комментариев простая и не имеет параметров

Выглядит просто, но делает очень много. Фактически она создает огромное количество html кода и использует кучу php кода. Т.к. эта функция генерирует весь готовый html код, то нам придется иметь с ним дело без возможности как-то отрегулировать или настроить использованием параметров. Это может быть определенной проблемой, с учетом того, что мы не очень можем этот html код изменить. Не нравятся классы div? Не хотите использовать граватары? Желаете изменить порядок вывода строк?

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

wp_list_comments

  • легко использовать
  • встроенный функционал комментирования
  • встроенный функционал разбития на страницы
  • встроенный функционал древовидного отображения
  • css классы по умолчанию для базовых задач

пользовательская функция комментариев

  • абсолютный полный контроль над всем
  • стандартные и пользовательские css классы
  • наличие плагинов для добавления нужного функционала

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

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

wp_list_comments() или пользовательский цикл?

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

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

Хотя wp_list_comments и не выглядит как цикл, но она делает все тоже самое, повторяет раз за разом запросы и вывод комментариев, пока они не закончатся, размечая их соответствующими тегами.

Обычно готовый хтмл код одного комментария выглядит примерно так:

  1. Имя комментатора says:

    Спасибо, у вас супер сайт!

Как видно, цикл вывода комментария содержит картинку-граватар, несколько дивов, много разных css классов, ссылку на автора и собственно текст комментария. Если это вас устраивает — то это хорошо, больше ничего делать и не нужно.

В этом случае вы можете протянуть свои руки только к следующим доступным параметрам wp_list_comments:

  • размер аватары по умолчанию 32 пикселя
  • стили css — используя их названия можно изменить параметры на нужные
  • стиль вывода списка комментариев style. По умолчанию комментарии выводятся тегами неупорядоченного списка
      , но если вы вместо этого хотите использовать упорядоченный список
        , то используйте такой параметр "ol")); ?>
      1. тип type — строковый параметр, отвечающий за отображаемые комментарии. Доступные параметры — all, comment, trackback, pingback, pings. Pings означает, что будут выводиться вместе и трекбеки, и пингбеки. По умолчанию параметр равен all, т.е. все комментарии отображаются.
      2. текст ответа reply_text — определяющий, что будет написано на ссылке ответа на комментарий, обычно «Ответить»
      3. текст авторизации login_text — отображается в случае, если для ответа необходимо авторизироваться на сайте, обычно «Авторизируйтесь для комментирования»
      4. callback — имя пользовательской функции для отображения комментариев.
      5. Дополнительные параметры, доступны

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

    Шаманим в functions.php

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

    Теперь создадим в functions.php свою пользовательскую функцию

  • id="li-comment-">
    ");?> %s says:"), get_comment_author_link()); ?>
    comment_approved == "0") : ?>
    $depth,"max_depth" => $args["max_depth"]))); ?>
    Обратите внимание, что мы не закрываем тег
  • , т.к. вордпресс автоматически создаст закрывающие теги в зависимости от разметки вложенных комментариев.

    Будучи размещенным, данная функция будет вызываться при генерации комментариев и позволяет вносить в себя любые нужные правки. Фишка в том, что мы сделали все, что нам нужно, используя стандартную и достаточно ограниченную в настройках wp_list_comments()

    А теперь давайте тряхнем стариной - вместе с wp_list_comments поставим цикл foreach

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

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

    Реализуем постраничные комментарии

    Заранее никто не знает, что контент на сайте может привлечь сотни комментариев. К чему я клоню — мы все суперзвезды и успех может придти неожиданно. Запись с сотней комментариев может быть безумно длинной для просмотра и перемотки. В общем, мы конечно не боимся вертикальной прокрутки (в отличие от горизонтальной), но границы должны быть у всего. Типичный пост с 60 комментариями может быть до 20 тыс. пикселей в высоту!

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

    Включив постраничную навигацию, не забудьте добавить в файл comments.php функции для вывода ссылок «Раньше» «Позже»

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

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

    • https://yoursite.com/ghost-dad-rocked/
    • https://yoursite.com/ghost-dad-rocked/comments-page-1/
    • https://yoursite.com/ghost-dad-rocked/comments-page-2/
    • https://yoursite.com/ghost-dad-rocked/comments-page-3/

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

    Чтобы избежать дублирования, есть несколько решений:

    1. Не использовать постраничные комментарии
    2. Использовать мета-теги для создания канонических урл для каждой записи
    3. Использовать плагин

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

    SEO for Paged Comments применяет еще более радикальный способ — убирая содержимое записи с страниц комментариев и заменяя на цитату или урезанную версию записи.

    Реализуем вложенные комментарии

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

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

    Теперь достаточно просто нажать на соответствующую ссылку «Ответить» и высказаться. После одобрения текста комментария он появится сразу же под комментарием, на который был написан.

    Если ваш шаблон не поддерживает такой вид комментирования, есть легкий способ добавить такую возможность:

    1. Делаем резервные копии файлов, что по идее должно уже войти в привычку
    2. Включаем вложенные комментарии в настройках Параметры→Настройки обсуждения→Разрешить древовидные комментарии
    3. Добавляем следующий код в header.php сразу же перед wp_head()
    4. Добавляем в comments.php непосредственно перед закрывающим тегом
    5. Проверяем, что