Как удалить все изменения в визуальном редакторе WordPress и откатить пост к сохранённой версии

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

Почему важно уметь откатывать изменения в WordPress

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

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

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

Как откатить пост к последней сохранённой версии с помощью стандартных ревизий WordPress

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

  1. Откройте нужный пост в редакторе WordPress.
  2. В правой панели найдите раздел Ревизии (если не видите, включите в настройках экрана).
  3. Нажмите на ссылку с количеством ревизий, чтобы перейти к просмотру предыдущих версий.
  4. Используйте ползунок или кнопки для выбора нужной версии.
  5. Нажмите Восстановить эту ревизию.

Так вы вернёте весь контент статьи к выбранному состоянию, удалив все изменения, сделанные после этого.

Если вы хотите реализовать подобное откатывание программно, можно использовать следующий пример функции:

function wpmagazin_restore_post_revision($post_id, $revision_id) {
    if (wp_is_post_revision($revision_id)) {
        $revision = get_post($revision_id);
        if ($revision && $revision->post_parent == $post_id) {
            wp_restore_post_revision($revision_id);
            return true;
        }
    }
    return false;
}

Эта функция проверяет, что указанный ID является ревизией данного поста, и восстанавливает её.

Работа с отменой изменений в визуальном редакторе Gutenberg: горячие клавиши и советы

Редактор Gutenberg поддерживает базовые горячие клавиши для отмены и повтора действий:

  • Ctrl + Z (Cmd + Z на Mac) — отмена последнего действия;
  • Ctrl + Shift + Z или Ctrl + Y — повтор отменённого действия.

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

Для сохранности рекомендуется часто сохранять черновики и пользоваться ревизиями.

Как сбросить изменения в блоках редактора вручную

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

  1. Выделите блок.
  2. Нажмите на три точки в панели инструментов блока.
  3. Выберите Удалить блок.
  4. Добавьте блок заново, скопировав из предыдущей версии или шаблона.

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

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

Для удобной работы с откатом и удалением изменений рекомендуем обратить внимание на следующие плагины:

  • WP Revisions Control — позволяет ограничить количество ревизий и управлять ими.
  • Revisionize — создаёт копии постов для редактирования без изменения опубликованной версии, что удобно для тестирования изменений.
  • Simple History — показывает историю изменений в админке, включая кто и когда редактировал пост.

Установка плагина WP Revisions Control:

  1. Перейдите в раздел Плагины > Добавить новый в админке WordPress.
  2. В поиске введите «WP Revisions Control».
  3. Установите и активируйте плагин.
  4. В настройках плагина установите лимит ревизий для постов и страниц.

Это поможет контролировать количество сохранённых версий и облегчит откат при необходимости.

Практический пример: автоматический откат изменений по кнопке с помощью кастомного плагина

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

<?php
/*
Plugin Name: WPMagazin Auto Restore Revision
Description: Добавляет кнопку для отката к последней ревизии
Version: 1.0
Author: WPMagazin
*/

add_action('add_meta_boxes', 'wpmagazin_add_restore_button');
function wpmagazin_add_restore_button() {
    add_meta_box('wpmagazin_restore_meta', 'Восстановление ревизии', 'wpmagazin_render_restore_button', 'post', 'side', 'high');
}

function wpmagazin_render_restore_button($post) {
    $revisions = wp_get_post_revisions($post->ID);
    if (empty($revisions)) {
        echo '<p>Ревизий нет</p>';
        return;
    }
    $last_revision = reset($revisions);
    $nonce = wp_create_nonce('wpmagazin_restore_revision');
    echo '<form method="post">';
    echo '<input type="hidden" name="revision_id" value="' . esc_attr($last_revision->ID) . '" />';
    echo '<input type="hidden" name="post_id" value="' . esc_attr($post->ID) . '" />';
    echo '<input type="hidden" name="wpmagazin_nonce" value="' . esc_attr($nonce) . '" />';
    echo '<input type="submit" name="wpmagazin_restore" class="button button-secondary" value="Восстановить последнюю ревизию" />';
    echo '</form>';
}

add_action('admin_init', 'wpmagazin_handle_restore_post');
function wpmagazin_handle_restore_post() {
    if (!isset($_POST['wpmagazin_restore'])) {
        return;
    }
    $nonce = $_POST['wpmagazin_nonce'] ?? '';
    if (!wp_verify_nonce($nonce, 'wpmagazin_restore_revision')) {
        wp_die('Ошибка безопасности');
    }
    $post_id = intval($_POST['post_id']);
    $revision_id = intval($_POST['revision_id']);
    if (wpmagazin_restore_post_revision($post_id, $revision_id)) {
        wp_redirect(admin_url('post.php?post=' . $post_id . '&action=edit&restored=1'));
        exit;
    } else {
        wp_die('Не удалось восстановить ревизию');
    }
}

function wpmagazin_restore_post_revision($post_id, $revision_id) {
    if (wp_is_post_revision($revision_id)) {
        $revision = get_post($revision_id);
        if ($revision && $revision->post_parent == $post_id) {
            wp_restore_post_revision($revision_id);
            return true;
        }
    }
    return false;
}
?>

Этот код добавляет метабокс с кнопкой восстановления последней ревизии. После нажатия пост откатится к последней сохранённой версии.

Как избежать потери данных и минимизировать необходимость отката

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

  • Часто сохраняйте черновики при редактировании.
  • Используйте плагины для контроля и ограничения количества ревизий.
  • Перед масштабными изменениями делайте резервные копии базы данных и файлов.
  • Используйте функцию «Предварительный просмотр» для проверки изменений до публикации.
  • Если требуется серьёзное тестирование, создавайте дубли постов и редактируйте их отдельно.

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

Как автоматически удалять старые чёрные спам-комментарии в WordPress
04.04.2026
Как удалить пустые категории в WordPress с помощью кода
27.03.2026
WooCommerce: автоматическое удаление отменённых заказов для оптимизации базы данных
05.05.2026
Оптимизация базы данных WordPress: удаляем повторяющиеся записи
12.12.2025
Использование фильтра WooCommerce product_query для точной настройки выборки товаров
26.04.2026