В процессе доработки или оптимизации темы оформления 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
.