Отключить CSS/JS в теме WordPress

В процессе доработки или оптимизации темы оформления WordPress, может возникнуть необходимость отключить загрузку неиспользуемых CSS или JS-файлов внутри HTML-документа. Как правило, в данной ситуации ограничиваются самым простым вариантом решения данного вопроса — удалением из шаблона функций wp_enqueue_style или wp_enqueue_skript, отвечающих за регистрацию стилей и скриптов в WordPress.

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

В WordPress можно удалять из очереди и отменять регистрацию стилей и скриптов при помощи функций:

  • wp_deregister_script()
  • wp_deregister_style()
  • wp_dequeue_script()
  • wp_dequeue_style()

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

В большинстве случаев, чтобы отключить CSS и JS файлы рекомендуется использовать wp_dequeue_style и wp_dequeue_script. Для этого необходимо добавить код в файл functions.php вашего WordPress шаблона.

Рассмотрим использование функции на примере отключения загрузки шрифтов Google Web Fonts:

function wp_dequeue_google_fonts() {
	wp_dequeue_style( 'twentyfifteen-fonts' );
}
add_action( 'wp_enqueue_scripts', 'wp_dequeue_google_fonts', 20 );

В примере выше: в качестве параметра для работы функции wp_dequeue_style() мы указали идентификатор twentyfifteen-fonts ранее зарегистрированного CSS.

Имя идентификатора можно найти в коде функции подключения скрипта wp_enqueue_script().

Следует отметить, для отключения CSS или JS файлов в теме WordPress, вызов функции wp_dequeue_google_fonts должен происходить после вызова функции wp_enqueue. Поэтому для отключения CSS или JS файлов в теме WordPress, лучше всего использовать код функции в конце файла functions.php.