wp-code.ru wordpress WP-Codе

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

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

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

По умолчанию WordPress загружает множество CSS и JS файлов на каждой странице админ-панели, даже если они там не нужны. Это происходит, потому что ядро и плагины подключают ресурсы глобально. Из-за этого могут возникать конфликты, замедление работы и затруднения в разработке кастомных интерфейсов.

Удаление лишних стилей и скриптов позволяет:

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

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

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

Откройте любую страницу нужного подраздела админ-панели и нажмите F12 для вызова инструментов разработчика. Перейдите во вкладку Network и отфильтруйте запросы по типу JS и CSS. Вы увидите полный список подключаемых файлов.

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

Удаление скриптов и стилей в конкретных подразделах админки WordPress

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

Ниже приведён пример функции для удаления стиля example-style и скрипта example-script только на странице редактирования записей (edit.php):

function wpcode_remove_admin_scripts_and_styles( $hook ) {
    // Проверяем, что мы на странице списка записей
    if ( 'edit.php' === $hook ) {
        wp_dequeue_style( 'example-style' );
        wp_deregister_style( 'example-style' );
        wp_dequeue_script( 'example-script' );
        wp_deregister_script( 'example-script' );
    }
}
add_action( 'admin_enqueue_scripts', 'wpcode_remove_admin_scripts_and_styles', 100 );

Здесь:

  • $hook — идентификатор текущей страницы админки;
  • wp_dequeue_style/script — удаляет ресурс из очереди загрузки;
  • wp_deregister_style/script — снимает регистрацию ресурса, чтобы он не мог быть подключён повторно.

Как узнать значение $hook для нужной страницы

Чтобы определить значение $hook для конкретного подраздела админки, можно временно добавить такой код:

add_action( 'admin_enqueue_scripts', function( $hook ) {
    error_log( 'Current admin page hook: ' . $hook );
} );

После этого откройте нужную страницу и проверьте лог ошибок PHP (обычно error_log или в консоли сервера). Там будет строка с названием хука, например, post-new.php, edit.php, toplevel_page_myplugin и др.

Удаление скриптов и стилей на страницах своих плагинов и тем

Если вы создаёте свой плагин или тему и хотите оптимизировать подключаемые ресурсы, то подход тот же — фильтровать подключение по $hook. Например, если у вас есть страница настроек с хуком settings_page_myplugin-settings, можно так:

function wpcode_remove_scripts_on_myplugin_settings( $hook ) {
    if ( 'settings_page_myplugin-settings' === $hook ) {
        wp_dequeue_script( 'jquery-ui-datepicker' );
        wp_deregister_script( 'jquery-ui-datepicker' );

        wp_dequeue_style( 'wp-admin' );
        wp_deregister_style( 'wp-admin' );
    }
}
add_action( 'admin_enqueue_scripts', 'wpcode_remove_scripts_on_myplugin_settings', 100 );
<

Так вы точно контролируете, какие ресурсы нужны для вашего интерфейса, а какие — нет.

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

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

  • Clearfy — позволяет отключать скрипты и стили, а также оптимизировать работу админки и сайта;
  • Asset Cleanup — помогает отключать ненужные скрипты и стили на фронтенде и в админке;
  • Scripts to Footer — переносит скрипты в футер, что улучшает производительность.

Особенности и ограничения удаления скриптов и стилей в админке

Важно помнить, что:

  • Некоторые скрипты нужны для работы базового функционала WordPress и удаления которых может привести к ошибкам;
  • Удаление скриптов из сторонних плагинов может нарушить их работу, поэтому тщательно тестируйте изменения;
  • Всегда используйте приоритет 100 или выше в хук admin_enqueue_scripts, чтобы ваши изменения применились после регистрации скриптов;
  • При обновлениях WordPress или плагинов идентификаторы скриптов и стилей могут меняться.

Заключение и рекомендации по оптимизации админки WordPress

Удаление ненужных скриптов и стилей из отдельных подразделов админ-панели — это эффективный способ повысить производительность и удобство работы с сайтом. Используйте admin_enqueue_scripts с проверкой $hook, чтобы точно контролировать загрузку ресурсов.

Если вы хотите автоматизировать и упростить этот процесс, рекомендую обратить внимание на Clearfy — мощный инструмент для оптимизации WordPress без глубоких знаний кода.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее