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

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

Что такое автоподгрузка в админ-панели WordPress и зачем её отключать

В админ-панели WordPress, например, на страницах «Записи» или «Страницы», с помощью AJAX часто реализована автоподгрузка — при прокрутке списка записей новые записи подгружаются автоматически, без перезагрузки страницы. Это помогает работать с большим количеством контента быстрее.

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

  • Замедлению загрузки страниц админки;
  • Ошибкам JavaScript и сбоям интерфейса;
  • Неправильному отображению количества записей;
  • Проблемам с совместимостью плагинов, например, с WPGPT или Clearfy Pro.

В таких случаях полезно отключить автоподгрузку и вернуться к классической пагинации с перезагрузкой страниц.

Отключение автоподгрузки через функции темы или плагина

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

Пример решения для стандартного списка записей (постов)

Часто автоподгрузка в админке реализована через JavaScript или с помощью параметра ajax. Чтобы отключить её, можно убрать скрипт, который отвечает за автозагрузку:

add_action('admin_enqueue_scripts', 'adminwpstuff_disable_autoload_scripts', 100);
function adminwpstuff_disable_autoload_scripts() {
    wp_dequeue_script('post-list'); // пример названия скрипта
}

Однако такой способ зависит от темы и плагинов. Более универсальный метод — отключить AJAX-пагинацию с помощью фильтра на уровне запросов:

add_filter('wp_ajax_get-posts', 'adminwpstuff_disable_ajax_post_load');
function adminwpstuff_disable_ajax_post_load() {
    wp_send_json_error(['message' => 'Автоподгрузка отключена']);
    wp_die();
}
<

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

Использование плагинов для управления автоподгрузкой и производительностью

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

Clearfy Pro

Плагин Clearfy Pro предлагает опции для отключения различных AJAX-эффектов и автоподгрузки в админке, что помогает повысить скорость и устранить конфликты.

Adminimize

Хотя Adminimize не отключает автоподгрузку напрямую, он позволяет скрыть ненужные элементы админки, что косвенно уменьшает нагрузку и улучшает восприятие интерфейса.

Практические советы и рекомендации

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

  • Сделайте резервную копию сайта и базы данных.
  • Проверьте, какие именно скрипты отвечают за подгрузку на вашей версии WordPress и используемых плагинах.
  • Тестируйте изменения на тестовом или локальном окружении.
  • Если используете кастомные плагины или темы, убедитесь, что они совместимы с отключением AJAX.

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

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

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

add_action('pre_get_posts', 'adminwpstuff_disable_ajax_for_custom_post_types');
function adminwpstuff_disable_ajax_for_custom_post_types($query) {
    if (is_admin() && $query->is_main_query()) {
        $screen = get_current_screen();
        if ($screen && in_array($screen->post_type, ['custom_type_1', 'custom_type_2'])) {
            // Отключаем AJAX-подгрузку, устанавливая параметр пагинации
            $query->set('posts_per_page', 20);
            remove_action('wp_ajax_load_more', 'ajax_load_more_callback'); // пример
        }
    }
}

Замените custom_type_1 и custom_type_2 на свои типы записей. Этот код отключит AJAX-загрузку и заставит админку использовать стандартную пагинацию.

Выводы по теме отключения автоподгрузки в админке WordPress

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

Как использовать хук WooCommerce Subscription Renewal для дополнительных действий
24.07.2026
Как создать собственный визуальный редактор блоков Gutenberg в WordPress
16.04.2026
Как создать собственный админ-бар в WordPress
04.01.2026
Как избежать проблем в синтезе WooCommerce и кассовых аппаратов: фискализация, интеграция и отладка
29.05.2026
Как отключить автоподгрузку в админ-панели WordPress
24.03.2026