Как удалить обсуждения и комментарии на отдельных страницах WordPress

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

Почему важно отключать комментарии на отдельных страницах

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

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

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

Стандартные способы отключения комментариев на отдельных страницах

В админке WordPress есть возможность отключить комментарии для конкретной записи или страницы:

  • Откройте нужную страницу или запись в редакторе.
  • В блоке «Обсуждение» снимите галочку «Разрешить комментарии».
  • Обновите запись.

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

Поэтому рассмотрим более продвинутые способы — через код и плагины.

Отключение комментариев через functions.php — пример кода

Чтобы полностью отключить вывод комментариев и обсуждений на определённых страницах программно, можно добавить в файл functions.php вашей темы следующий код с префиксом wpdeveloper для функций:

function wpdeveloper_disable_comments_on_pages() {
    if (is_page(array('kontakty', 'o-nas'))) { // замените на slug ваших страниц
        // Отключаем поддержку комментариев
        remove_post_type_support('page', 'comments');
        remove_post_type_support('page', 'trackbacks');
        // Убираем форму комментариев
        add_filter('comments_open', '__return_false', 20, 2);
        add_filter('pings_open', '__return_false', 20, 2);
    }
}
add_action('wp', 'wpdeveloper_disable_comments_on_pages');

Этот код проверяет, если мы на страницах с указанными slug ('kontakty', 'o-nas'), то отключает поддержку комментариев и трекбеков, а также скрывает форму комментариев.

Вы можете добавить в массив slug любых страниц, где хотите отключить комментарии.

Удаление блока комментариев из шаблона

Если тема явно выводит комментарии через comments_template(), то можно условно убрать вызов в файле page.php или в других шаблонах:

if (!is_page(array('kontakty', 'o-nas'))) {
    comments_template();
}

Так вы гарантируете, что блок с комментариями не появится на выбранных страницах.

Использование плагинов для отключения комментариев на отдельных страницах

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

  • Disable Comments — плагин, который позволяет глобально или выборочно отключать комментарии. В настройках можно указать, где именно отключать.
  • WP Developer Comment Control — условно бесплатный плагин с расширенными настройками отключения комментариев по типам записей и конкретным страницам.
  • Clearfy Pro — мощный оптимизатор, который среди множества функций позволяет гибко управлять комментариями, включая отключение на определённых страницах.

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

Массовое отключение комментариев на страницах и записях через SQL-запрос

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

Пример запроса для отключения комментариев на всех страницах:

UPDATE wp_posts SET comment_status = 'closed', ping_status = 'closed' WHERE post_type = 'page';

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

Управление отображением комментариев через хуки и фильтры

Иногда темы или плагины сами выводят комментарии не через стандартный comments_template(). В этих случаях можно использовать фильтры для отключения:

function wpdeveloper_disable_comments_output($open, $post_id) {
    $post = get_post($post_id);
    if ($post && $post->post_type === 'page' && in_array($post->post_name, array('kontakty', 'o-nas'))) {
        return false;
    }
    return $open;
}
add_filter('comments_open', 'wpdeveloper_disable_comments_output', 20, 2);
add_filter('pings_open', 'wpdeveloper_disable_comments_output', 20, 2);

Этот фильтр отменит открытие комментариев и пингов на выбранных страницах.

Как отключить комментарии в Гутенберге на отдельных страницах

В редакторе Гутенберг также можно отключать комментарии. Но чтобы сделать это массово, удобнее через код или плагины.

Для отключения метабокса обсуждения на страницах в админке используйте:

function wpdeveloper_remove_discussion_metabox() {
    remove_meta_box('commentstatusdiv', 'page', 'normal');
}
add_action('admin_menu', 'wpdeveloper_remove_discussion_metabox');

Это уберёт панель обсуждения, предотвращая случайное включение комментариев.

Итоги и рекомендации

Отключение комментариев на отдельных страницах WordPress — частая задача, решаемая несколькими способами:

  • Через стандартные настройки записи (для единичных страниц).
  • Через код в functions.php с использованием хуков и проверок.
  • Через плагины, если нужно удобство и массовое управление.
  • Через SQL-запросы при больших объёмах.

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

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

Как автоматически отправлять отзывы после покупки в WordPress
25.02.2026
Автоматическое создание категорий при импорте записей в WordPress
21.03.2026
Как создать адаптивные блоки в WordPress Gutenberg
02.12.2025
Безопасные автообновления WordPress: настройка и контроль
29.11.2025
Как запретить доступ к административной панели WordPress по IP
09.04.2026