wordpressa.ru wordpress Wordpressa

Как отключить комментарии в WordPress на всем сайте или только на отдельных страницах

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

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

Что именно меняется, когда вы отключаете комментарии

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

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

Как отключить комментарии на всём сайте через настройки WordPress

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

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

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

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

Как закрыть комментарии у уже опубликованных записей и страниц

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

Массово через список записей

Если материалов немного, можно сделать это без кода:

  1. Откройте Записи → Все записи или Страницы → Все страницы.
  2. Отметьте нужные элементы.
  3. В выпадающем списке Действия выберите Изменить.
  4. Нажмите Применить.
  5. В блоке массового редактирования найдите параметр Комментарии и установите Запретить.
  6. Сохраните изменения.

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

Через редактор конкретной записи или страницы

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

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

Как отключить комментарии на всём сайте кодом, если в админке это неудобно

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

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

Добавьте следующий код в файл functions.php дочерней темы или в собственный мини-плагин:

add_action('init', function () {
    $post_types = get_post_types([], 'names');

    foreach ($post_types as $post_type) {
        if (post_type_supports($post_type, 'comments')) {
            remove_post_type_support($post_type, 'comments');
        }
        if (post_type_supports($post_type, 'trackbacks')) {
            remove_post_type_support($post_type, 'trackbacks');
        }
    }
});

add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);
add_filter('comments_array', '__return_empty_array', 10, 2);

Что делает этот код:

  • убирает поддержку комментариев и трекбэков у типов записей, где она есть;
  • запрещает открытие комментариев и пингов на уровне фильтров;
  • не даёт вывести уже загруженный массив комментариев.

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

Как отключить комментарии только на отдельных страницах

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

Практически это делается так:

  • на страницах «О компании», «Контакты», «Доставка», «Оплата», «Политика конфиденциальности» комментарии обычно отключают;
  • на записях блога или новостях их можно оставить, если обсуждение реально нужно;
  • на лендингах и посадочных страницах комментарии чаще всего только мешают.

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

Что делать, если комментарии отключили, а форма всё равно видна

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

Сначала проверьте саму запись в админке: действительно ли у неё отключены комментарии. Затем откройте шаблон темы. Если тема устаревшая или написана с ошибками, в ней может быть жёстко вставлен вызов comments_template() без проверки состояния обсуждения. В нормальной теме этот вызов не должен создавать проблемы, но блок формы должен исчезать, когда комментарии закрыты.

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

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

После изменений откройте несколько страниц сайта в браузере и проверьте три вещи:

  1. под записью или страницей нет формы отправки комментария;
  2. нет ссылки или блока «Оставить комментарий»;
  3. в админке у записи в настройках обсуждения стоит запрет на комментарии.

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

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

Что не стоит делать

Самая частая ошибка — просто скрыть комментарии через CSS. Это быстро, но ненадёжно: данные всё равно остаются активными, а спам может продолжать попадать в базу. Ещё одна ошибка — править файлы родительской темы напрямую. После обновления изменения пропадут. Если нужен код, используйте дочернюю тему или отдельный мини-плагин.

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

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

×
Твой WordPress — твои правила!

Топовые темы и плагины со скидкой 20%.

Забрать выгодно ⋙