Оптимизируем плагины и ускоряем работу сайта на wordpress
О том как оптимизировать работу сайта на 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. Именно вообще, необыкновенно здесь можете использовать любые условные теги, узнать о которых можно из
Примеры кода были взяты с сайта
Ищите как нельзя более где можно скачать
feedproxy.google.com