В процессе работы с 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 без глубоких знаний кода.