Вы слышали от разработчиков , что чем больше плагинов , которые вы используете, тем медленнее ваш WordPress сайт работает? Хорошо , что это отчасти верно. Некоторые плагины добавляют только основные запросы, которые практически не оказывают никакого влияния на время загрузки вашего сайта. Другие плагины добавяют Jquery и CSS на каждой загрузке страницы (в область вашего сайта <head></head>). Так, например , если каждый плагин добавляет один файл JQuery и один CSS стилей и у вас есть 8 плагинов, как это, вы только что добавили 16 HTTP – запросов. Это может действительно выйти из – под контроля , когда плагины начинают добавлять более одной таблицы стилей или JQuery файлов. В этой статье мы покажем вам , как вы все еще можете использовать все WordPress плагины, которые вы хотите без дополнительных HTTP – запросов.
Примечание: Мы рекомендуем вам, по крайней мере знать некоторые знания PHP перед прочтением данного учебника.
Наша цель: Отключить все дополнительные скрипты и таблицы стилей, плагинов, добавить при каждой загрузке страницы.
Подождите минуту, почему эти плагины добавляют эти скрипты и стили? Правда ли, что необходимо для плагинов , чтобы нормально функционировать? Рад , что вы спросили. Скорее всего эти CSS и JavaScript коды имеют важное значение для функциональности плагина, но мы удалим тх в любом случае ,чтобы иметь больше контроля на нашем сайтом на WordPress и сделаем его работу быстрее. Отключив CSS файлы и JavaScripts, мы можем:
Но мы хотим взять контроль над этими файлами и сделать наши сайты работающими быстрее. Отключение этих скриптов и стилей позволит нам сделать несколько вещей:
- Объединение нескольких файлов в один файл (техника Sprite).
- Загружая файлы только на страницах мы используем сценарии или стили.
Отключение скриптов и стилей в WordPress
Самая лучшая часть о WordPress является то , что она имеет встроенную систему, которая позволяет нам дерегистрировать скрипты и стили, которые добавляются с помощью плагинов. “Плохая часть” в этой ситуации о WordPress является то, что он является открытым исходным кодом, поэтому плагины создаются людьми в сообществе разработчиков (экспертов и новых разработчиков). Это означает , что не все плагины использовать правильные методы для загрузки скриптов и стилей, что делает нашу работу труднее. Правильный метод заключается в следующем: путем регистрации таблицы стилей или скриптов со следующими WordPress функциями: wp_enqueue_script() и wp_enqueue_style(). Если автор вашего плагина не использует эти функции, то отправьте им доброе письмо с просьбой обновить плагин. Это не сложно, это просто вопрос кривого обучения.
Чтобы выяснить, какие скрипты или стили вы хотите отключить, возможно, придется копать глубже. Смотреть в код ваших плагинов.
Отключение CSS (таблицы стилей)
В этом примере мы будем использовать плагин называется Cleaner Gallery , который добавляет свой собственный файл CSS при каждой загрузке страницы. Во-первых, вы должны проверить, использует ли плагин правильный метод для добавления таблиц стилей. Для этого вам нужно будет открыть файл плагина: gallery.php (для этого плагина). Там, вы должны запустить поиск “wp_enqueue_style”. Вы найдете результаты:
wp_enqueue_style( 'cleaner-gallery', CLEANER_GALLERY_URL .'cleaner-gallery.css', false, 0.8, 'all' );
Теперь вы знаете , имя handle для стиля , который является «cleaner-gallery». Затем вам нужно будет открыть файл вашей темы functions.php и добавить следующий код:
add_action( 'wp_print_styles', 'andreyex_deregister_styles', 100 ); function andreyex_deregister_styles() { wp_deregister_style( 'cleaner-gallery' ); }
Вы можете отменить регистрацию, как много стилей handle вы хотите в этой функции. Так что если у вас есть более чем один плагин для дерегистрации таблицы стилей, вы могли бы сделать это следующим образом:
add_action( 'wp_print_styles', 'andreyex_deregister_styles', 100 ); function andreyex_deregister_styles() { wp_deregister_style( 'cleaner-gallery' ); wp_deregister_style( 'Plugin Style Handle' ); wp_deregister_style( 'Plugin Style Handle' ); }
Теперь , как только вы удалили таблицы стилей загружающиеся на каждой странице, это повлияет на функциональность плагина. Например, ваша галерея будет сломана с точки зрения стиля и организации. Чтобы исправить это, вы должны открыть файл вашей темы style.css, и весь путь в нижней части вставить коды CSS из плагина (ов). В нашем примере, мы убрали таблицу стилей в загрузке, так что теперь вы можете открыть cleaner-gallery.css, который можно найти в папке этого плагина. Скопируйте код и вставьте его файле в вашей темы style.css. Таким образом, не только то, что вы могли бы настроить отображение вашей галереи, но вы также уменьшить один запрос HTTP.
Идеальный способ
Плагин известный как WP-PageNavi предоставляет своим пользователям возможность удалить таблицу стилей на странице Настройки панели мониторинга.
Большую часть времени, вам нужно будет настроить отображение этого плагина, чтобы соответствовать цветовой гамме вашего сайта. Из-за того, что большинство пользователей, в конечном итоге объединяют коды на их style.css в любом случае. Теперь автор плагина позволяет дерегистрировать таблицы стилей с помощью простого флажка.
Мы надеемся, что все больше и больше разработчиков плагинов будут следовать этому шагу, чтобы сделать работу проще.
Отключение JavaScripts
Некоторые плагины также добавляют JavasScript на странице ради функциональности. В нашем примере мы будем использовать плагин Contact Form 7 .
Вам нужно будет копать глубже в плагине файлов , чтобы найти скрипт Handle там, как мы это делали со стилями. Для этого плагина, скрипт ‘Contact Form-7’ . Вам нужно будет скопировать и вставить функцию ниже в файле вашей темы functions.php:
add_action( 'wp_print_scripts', 'andreyex_deregister_javascript', 100 ); function andreyex_deregister_javascript() { wp_deregister_script( 'contact-form-7' ); }
Вы можете отменить регистрацию нескольких скриптов в пределах одной функции, если вы так желаете. После того, как вы удалите JavaScript, это, безусловно, повлияет на функциональность плагина. Вы можете комбинировать JavaScripts вместе, но иногда это не работает, так что вы должны знать, что вы делаете. Вы можете узнать это из проб и ошибок (как многие из нас), но мы не рекомендуем делать это на живом сайте.
Сценарии загрузки скриптов только на определенных страницах
Допустим, вы знаете что сценарий контактный формы необходим, и вы не можете объединить его с другими сценариями по некоторым причинам. Вы можете загрузить его только на контактной странице, если вы так желаете со следующей функцией:
add_action( 'wp_print_scripts', 'andreyex_deregister_javascript', 100 ); function andreyex_deregister_javascript() { if ( !is_page('MyContact') ) { wp_deregister_script( 'contact-form-7' ); } }
Делая это, вы будете экономить ненужную нагрузку сценария на всех остальных страницах, которые не имеют контактную форму. Это чрезвычайно полезный метод, чтобы уменьшить время загрузки сайта. Вы можете использовать другие параметры, такие как !is_single и т.д.
Если вы используете много плагинов на вашем сайте, мы рекомендуем вам открыть FireFox и просматривать исходный файл главной страницы (Ctril + U). Тогда смотрите выше этой области </ HEAD> и посмотрите, как много плагинов добавляют HTTP – запросы, такие как таблицы стилей и JavaScripts. Также установить YSlow плагин на Firefox, чтобы увидеть , что может быть исправлено и каков ваш текущий сайт Grade. Следуйте этим учебным пособием выше, и расскажите нам, на сколько вы улучшили свой класс сайта.