О том как оптимизировать работу сайта на wordpress писалось уже немало. А вот о том как оптимизировать разные скрипты и css — инфы довольно немного.
Если на вашем сайте стоит немалое количество полезных плагинов, то вы увидите, что многие из них добавляют свои файлы стилей и скрипты. Но вот фигня какая — некоторые плагины будут использоваться всего на одной странице — а вот подгружать свои скрипты будут на всех страницах. А оно нам надо?
Для загрузки вспомогательных файлов плагинов в ВП есть 2 функции, которые включают загрузку разных скриптов и css файлов — это wp_enqueue_script() и wp_enqueue_style(). Но отключать полностью нам конечно же не нужно будет — поэтому на помощь нам прийдут условные теги. Т.е. логика такая — находим нужный скрипт, смотрим на какой странице он нам нужен, через условные теги оставляем его только на нужной странице — на остальных убираем.
Если дело касается небольших css файлов, то можно их содержимое вставить в наш общий файл темы. А теперь подробнее как это все делать.
1. исключаем загрузку ненужных css.
Идем в папку плагина, берем основной php файл и пробуем найти через поиск строку с wp_enqueue_style
Обычно сразу находим что-то вроде
wp_enqueue_style( 'cleaner-gallery', CLEANER_GALLERY_URL . 'cleaner-gallery.css', false, 0.8, 'all' );
где cleaner-gallery — это handle файла, его нужно записать.
Далее идем в файл functions.php нашей темы и вставляем
add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'cleaner-gallery' );
}
Вот сюда-то мы и вставляем наш handle.
Если нужно отключить для разных плагинов, не нужно писать каждый раз заново, можно так
add_action( ‘wp_print_styles’, ‘my_deregister_styles’, 100 );
function my_deregister_styles() {
wp_deregister_style( 'cleaner-gallery' );
wp_deregister_style( 'Plugin Style Handle' );
wp_deregister_style( 'Plugin Style Handle' );
}
Если отключаете полностью файл css плагина, то его содержимое (если оно важно), копируйте в файл стилей вашей темы.
2. отключаем ненужные скрипты.
Для примера возьмем плагин contact form 7 — хороший плагин для контактной формы, только контактная форма у нас на одной странице, а скрипт плагина загружается на всех, что увеличивает загрузку сайта.
Принцип тот же — ищем строку с wp_enqueue_script, находим handle — вставляем следующий код в functions.php
add_action( ‘wp_print_scripts’, ‘my_deregister_javascript’, 100 );
function my_deregister_javascript() {
wp_deregister_script( 'contact-form-7' );
}
А теперь момент, этим хаком мы вырубили вообще скрипт, но он нам ведь нужен на страничке контактной формы, поэтому добавляем условие
add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );
function my_deregister_javascript() {
if ( !is_page('Contact') ) {
wp_deregister_script( 'contact-form-7' );
}
}
Т.е. логика такая — если страничка называется не Contacts — то отключаем скрипт. Тем самым мы оставим скрипт на страничке Contacts. Вообще, здесь можете использовать любые условные теги, узнать о которых можно из
Примеры кода были взяты с сайта wpbeginner.com
Ищите где можно скачать фильмы бесплатно и без всяких там отправок sms, скрытой рекламы и т.д. — посетите портал фильмов, софта, игр — xfolders.ws
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Похожие статьи:
Автор, извините пожалуйста, что тут опрос начал, но просто считаю Ваш сайт наиболее популярным и полезным для вп-шников.
Там даже по коду видно, что выключается всё полностью. Как же они будут на отдельных страницах, где те самые плагины применяются работать?
Но можно узнать как вы сделали «Популярное за неделю:», везде искал но не могу найти.
Буду очень благодарен.