Как удалить или отключить Gutenberg в WordPress

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

Почему может понадобиться отключение Gutenberg в WordPress

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

  • Совместимость с плагинами или темами: Некоторые устаревшие плагины и темы не поддерживают новый редактор.
  • Привычка: Пользователи, привыкшие к классическому редактору, считают его удобнее и быстрее.
  • Кастомизация: В классическом редакторе проще добавлять кастомные метабоксы и другие элементы.
  • Баги и ошибки: Иногда Gutenberg может вызывать конфликты или нестабильность.

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

Как отключить Gutenberg с помощью плагинов

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

Плагин Classic Editor

Официальный плагин от разработчиков WordPress, который полностью отключает Gutenberg и возвращает классический редактор.

  • Установка: Найдите плагин Classic Editor в репозитории WordPress и установите его.
  • Использование: После активации плагина Gutenberg будет отключен автоматически.
  • Дополнительно: В настройках можно выбрать, какой редактор использовать для разных ролей пользователей.

Плагин Disable Gutenberg

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

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

Отключение Gutenberg через functions.php: примеры кода

Если вы предпочитаете не использовать плагины, можно отключить Gutenberg программно, добавив код в файл functions.php вашей активной темы или в собственный плагин.

Отключение Gutenberg для всех типов постов

function wpin_disable_gutenberg() {
    return false;
}
add_filter('use_block_editor_for_post', 'wpin_disable_gutenberg', 10);
add_filter('use_block_editor_for_post_type', 'wpin_disable_gutenberg', 10);

Этот код полностью отключает Gutenberg и возвращает классический редактор во всех местах.

Отключение Gutenberg только для определенных типов записей

function wpin_disable_gutenberg_cpt($use_block_editor, $post_type) {
    // Отключаем Gutenberg для страниц
    if ($post_type === 'page') {
        return false;
    }
    return $use_block_editor;
}
add_filter('use_block_editor_for_post_type', 'wpin_disable_gutenberg_cpt', 10, 2);

Такой код отключит Gutenberg только для страниц, остальные типы записей будут использовать блочный редактор.

Отключение Gutenberg для конкретной роли пользователя

function wpin_disable_gutenberg_for_role($use_block_editor, $post) {
    if (!current_user_can('edit_others_posts')) {
        return false;
    }
    return $use_block_editor;
}
add_filter('use_block_editor_for_post', 'wpin_disable_gutenberg_for_role', 10, 2);

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

Советы по безопасному отключению Gutenberg без потери данных

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

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

  • Провести тестирование на копии сайта.
  • Использовать плагин Classic Editor с опцией "Сохранять блоки".
  • Проверить страницы с блоками и при необходимости преобразовать их в классический формат.

Альтернативные методы: использование плагина Advanced Custom Fields (ACF) вместо Gutenberg

Если цель отключения Gutenberg — получить удобный кастомный интерфейс, можно использовать плагин Advanced Custom Fields (ACF), который позволяет создавать собственные поля и метабоксы для редактирования контента.

ACF отлично сочетается с классическим редактором и предлагает гибкие настройки:

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

Пример вывода пользовательского поля ACF в шаблоне:

if (function_exists('get_field')) {
    $custom_text = get_field('wpin_custom_text');
    if ($custom_text) {
        echo '<p>' . esc_html($custom_text) . '</p>';
    }
}

Заключение

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

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

⭐⭐⭐⭐⭐