Как удалить все виджеты сайта WordPress за один код

В процессе разработки и настройки сайта на WordPress часто возникает необходимость полностью очистить боковые панели (сайдбары) от всех виджетов. Особенно это актуально при смене темы или кардинальной перестройке структуры сайта. В этой статье мы рассмотрим, как удалить все виджеты WordPress программно, а также какие плагины могут помочь в этом вопросе.

Почему нужно удалить все виджеты WordPress одновременно

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

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

Теперь рассмотрим, как это сделать с помощью кода.

Удаление всех виджетов WordPress программно с помощью функции

Все виджеты хранятся в базе данных в опции sidebars_widgets. Эта опция содержит массив, где ключи — это области виджетов (например, sidebar-1), а значения — массивы с ID виджетов. Чтобы удалить все виджеты, нужно очистить эту опцию.

Пример функции для удаления всех виджетов:

function wpplugins_remove_all_widgets() {
    update_option('sidebars_widgets', array());
}
// Запуск функции при инициализации админки
add_action('admin_init', 'wpplugins_remove_all_widgets');

Данная функция полностью очищает все области виджетов, удаляя все прикрепленные к ним виджеты. После вызова обновите страницу с виджетами в админке — они будут пусты.

Как временно отключить функцию удаления

Так как функция вызывается на каждом заходе в админку, лучше выполнять её однократно, а затем комментировать или удалять. Иначе виджеты будут удаляться постоянно.

Для однократного запуска можно использовать проверку опции:

function wpplugins_remove_all_widgets_once() {
    if ( ! get_option('wpplugins_widgets_cleared') ) {
        update_option('sidebars_widgets', array());
        update_option('wpplugins_widgets_cleared', true);
    }
}
add_action('admin_init', 'wpplugins_remove_all_widgets_once');

Удаление виджетов в определённом сайдбаре

Если нужно очистить виджеты не со всех областей, а только с конкретного сайдбара, например sidebar-1, то можно сделать так:

function wpplugins_remove_widgets_from_sidebar($sidebar_id = 'sidebar-1') {
    $sidebars_widgets = get_option('sidebars_widgets');
    if ( isset($sidebars_widgets[$sidebar_id]) ) {
        $sidebars_widgets[$sidebar_id] = array();
        update_option('sidebars_widgets', $sidebars_widgets);
    }
}
// Пример вызова
add_action('admin_init', function() {
    wpplugins_remove_widgets_from_sidebar('sidebar-1');
});

Это позволит точечно удалять виджеты из нужных областей.

Использование плагинов для массового удаления виджетов

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

  • Widget Disable — позволяет быстро отключать виджеты на сайте, но не удаляет их из базы.
  • Remove All Widgets — плагин для массового удаления всех виджетов за пару кликов. Его можно найти на официальном репозитории WordPress.
  • Clearfy Pro (https://wpshop.ru/clearfy-pro/?utm_source=wpplugins.ru&utm_medium=article&utm_campaign=kak-udalit-vse-vidzhety-sajta-wordpress-za-odin-kod) — многофункциональный плагин для оптимизации сайта, включая инструменты управления виджетами и очистки.

Преимущества плагинов

Плагины дают удобный интерфейс и минимизируют риск ошибки в коде. Особенно они полезны для пользователей без навыков программирования.

Как восстановить удалённые виджеты

Удаление виджетов из sidebars_widgets не удаляет сами настройки виджетов, которые хранятся в других опциях (например, widget_text, widget_categories и т.д.). Это значит, что при повторном добавлении виджетов в сайдбар они восстановят прежние настройки.

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

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

  • Перед массовым удалением виджетов обязательно сделайте резервную копию базы данных.
  • Тестируйте код на тестовом сайте или локально, чтобы не потерять важные данные.
  • Используйте однократный запуск функций удаления, чтобы не удалять виджеты при каждом заходе в админку.
  • Воспользуйтесь плагинами для удобства, если не хотите редактировать код.
Создаем собственные виджеты для WordPress: подробное руководство с примерами кода
10.11.2025
Создаем собственный шорткод в WordPress: пример и код
31.10.2025
Как создать автоматический импорт из внешнего источника в WordPress
05.04.2026
Автоматический импорт продуктов в WordPress с помощью WP All Import
09.01.2026
Как отключить автосохранение в WordPress: практическое руководство
18.02.2026