В WordPress по умолчанию включена возможность оставлять комментарии к записям и страницам. Но иногда возникает необходимость полностью отключить или удалить комментарии — например, если сайт представляет собой корпоративный лендинг, портфолио или просто вы хотите убрать спам и лишний функционал. В этой статье рассмотрим несколько способов, как удалить или отключить комментарии в WordPress, включая использование кода и плагинов.
Почему важно отключать или удалять комментарии
Комментарии — это способ взаимодействия с посетителями сайта. Но есть причины, когда они мешают:
- Появляется много спама, даже с антиспам-плагинами;
- Комментарии неактуальны для типа сайта (информационные страницы, лендинги);
- Для повышения безопасности и производительности;
- Упрощение админки и интерфейса для пользователей.
Удаление комментариев помогает избежать лишних запросов к базе данных и улучшить восприятие контента.
Отключение комментариев через настройки WordPress
Самый простой способ — отключить комментарии через стандартные настройки. Перейдите в раздел Настройки > Обсуждение и снимите галочку с пункта Разрешить оставлять комментарии к новым статьям. Это запретит добавлять новые комментарии, но старые останутся.
Чтобы отключить комментарии на уже существующих страницах и записях, нужно редактировать их вручную или использовать массовое редактирование:
- Перейдите в Записи или Страницы;
- Выберите нужные записи, нажмите Массовые действия > Редактировать;
- В поле Комментарии выберите Запретить и обновите.
Этот способ хорош, но при большом количестве записей неудобен.
Отключение комментариев с помощью кода (functions.php)
Для полного удаления комментариев можно добавить код в файл functions.php вашей темы или создать плагин. Вот пример функции, которая полностью отключает комментарии:
function wpcat_disable_comments() {
// Отключаем поддержку комментариев для всех типов записей
foreach (get_post_types() as $post_type) {
if (post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
remove_post_type_support($post_type, 'trackbacks');
}
}
}
add_action('admin_init', 'wpcat_disable_comments');
// Убираем меню комментариев из админки
function wpcat_remove_comments_admin_menu() {
remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'wpcat_remove_comments_admin_menu');
// Отключаем отображение комментариев на фронтенде
function wpcat_disable_comments_template($comment_template) {
return dirname(__FILE__) . '/no-comments.php'; // Создайте пустой файл no-comments.php
}
add_filter('comments_template', 'wpcat_disable_comments_template');Этот код отключает поддержку комментариев, удаляет пункт меню в админке и блокирует вывод шаблона комментариев на сайте.
Создание файла no-comments.php
Создайте в папке темы файл no-comments.php с таким содержимым, чтобы комментарии просто не отображались:
<?php
// Пустой шаблон комментариев
?>Удаление существующих комментариев из базы данных
Если необходимо удалить все существующие комментарии, это можно сделать через SQL-запрос в базе данных или с помощью кода.
Пример SQL-запроса (внимание, создайте резервную копию базы перед выполнением):
DELETE FROM wp_comments;
DELETE FROM wp_commentmeta;Или можно использовать PHP-функцию для массового удаления:
function wpcat_delete_all_comments() {
global $wpdb;
$wpdb->query('DELETE FROM ' . $wpdb->comments);
$wpdb->query('DELETE FROM ' . $wpdb->commentmeta);
}
// Запустите один раз, затем закомментируйте или удалите вызов
// wpcat_delete_all_comments();Использование плагинов для отключения комментариев
Если вы не хотите править код напрямую, есть надежные плагины для управления комментариями:
- Disable Comments — полностью отключает комментарии на сайте, позволяет выбирать типы записей;
- Remove Comments — простой плагин для удаления и отключения комментариев и меню;
- WPBruiser — антиспам плагин, который также помогает контролировать комментарии без капчи.
Плагины удобны и подходят для пользователей без навыков программирования.
Отключение комментариев в блоках Gutenberg
Если вы используете редактор Gutenberg, комментарии отображаются в блоках и мета-блоках. Чтобы убрать их, можно добавить поддержку темы:
function wpcat_disable_gutenberg_comments() {
remove_post_type_support('post', 'comments');
remove_post_type_support('page', 'comments');
}
add_action('init', 'wpcat_disable_gutenberg_comments');Это уберет возможность комментировать записи и страницы через редактор.
Итоговые рекомендации
Для полного и аккуратного отключения комментариев лучше комбинировать несколько методов:
- Отключить комментарии в настройках;
- Добавить код для удаления поддержки комментариев и скрытия меню;
- Удалить все существующие комментарии из базы;
- Использовать плагин, если не хотите править код.
Так вы избавитесь от лишнего функционала и повысите безопасность и производительность сайта на WordPress.