wpcat.ru wordpress WPCat.ru

Как удалить или отключить комментарии в WordPress: полный гайд

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

Почему важно отключать или удалять комментарии

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

  • Появляется много спама, даже с антиспам-плагинами;
  • Комментарии неактуальны для типа сайта (информационные страницы, лендинги);
  • Для повышения безопасности и производительности;
  • Упрощение админки и интерфейса для пользователей.

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

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

Самый простой способ — отключить комментарии через стандартные настройки. Перейдите в раздел Настройки > Обсуждение и снимите галочку с пункта Разрешить оставлять комментарии к новым статьям. Это запретит добавлять новые комментарии, но старые останутся.

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

  1. Перейдите в Записи или Страницы;
  2. Выберите нужные записи, нажмите Массовые действия > Редактировать;
  3. В поле Комментарии выберите Запретить и обновите.

Этот способ хорош, но при большом количестве записей неудобен.

Отключение комментариев с помощью кода (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');

Это уберет возможность комментировать записи и страницы через редактор.

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

Для полного и аккуратного отключения комментариев лучше комбинировать несколько методов:

  1. Отключить комментарии в настройках;
  2. Добавить код для удаления поддержки комментариев и скрытия меню;
  3. Удалить все существующие комментарии из базы;
  4. Использовать плагин, если не хотите править код.

Так вы избавитесь от лишнего функционала и повысите безопасность и производительность сайта на WordPress.

×
День SEO
Время сделать подарок своему WordPress!
-20% на премиум

шаблоны и плагины

Порадуй свой сайт ⋙