
Хотите научиться правильно добавлять JavaScripts и CSS в WordPress? Многие начинающие сайтоделы часто допускают ошибку, прописывая скрипты и стили непосредственно в код тем и плагинов.
В этой статье я расскажу, как правильно добавлять JavaScripts и стили в WordPress, что особенно полезно и надо знать начинающему мастеру.

Содержание
Многие неопытные разработчики сайтов и плагинов совершают ошибку, добавляя встроенный CSS или скрипты прямо в код плагинов и тем.
Некоторые ошибочно используют функцию wp_head для загрузки своих скриптов и таблиц стилей.
| 
                            1
                           
                            2
                           
                            3
                           
                            4
                           
                            5
                           
                            6
                           | 
                            <?php
                           
                            add_action('wp_head', 'wpb_bad_script');
                           
                            function wpb_bad_script() {
                           
                            echo 'jQuery goes here';
                           
                            }
                           
                            ?>
                           | 
И хотя приведенный выше код может показаться простым и лаконичным решением – его нельзя использовать для добавления скриптов, т.к. это приведет к большему количеству конфликтов.
Например, если вы загружаете библиотеку jQuery вручную, а какой-нибудь плагин на вашем сайте загружает ее автоматически, то получится, что у вас загрузится две библиотеки и они могут конфликтовать друг с другом. А если она загрузится на каждой странице, то это негативно отразиться на скорости и производительности сайта.
Может оказаться, что сами библиотеки будут разных версий, что тоже приведет к конфликту.
Поэтому очень важно уметь правильно добавлять таблицы стилей и скрипты.
У WordPress очень большое и развитое сообщество разработчиков. Тысячи людей со всего мира ежедневно разрабатывают все новые темы и плагины для WordPress. Для того чтобы все правильно работало и никто не наступал друг другу на пятки WordPress ввел систему последовательной загрузки Java-скриптов и таблиц стилей.
Используя функции wp_enqueue_script и wp_enqueue_style , вы указываете WordPress, когда и куда загружать файл, а также взаимосвязи. Эта система также позволяет разработчикам использовать встроенные библиотеки JavaScript, которые идут в коробке WordPress, а не несколько раз загружать один и тот же сторонний скрипт. Все это уменьшает время загрузки страницы и помогает избежать конфликтов с другими темами и плагинами.
Загружать скрипты в WordPress очень легко и просто. Ниже пример кода, который необходимо вставить в свой файл плагинов или в файл темы functions.php для того, чтобы правильно загружать скрипты в WordPress.
| 
                            1
                           
                            2
                           
                            3
                           
                            4
                           
                            5
                           
                            6
                           
                            7
                           
                            8
                           
                            9
                           
                            10
                           | 
                            <?php
                           
                            function wpb_adding_scripts() {
                           
                            wp_register_script('my_amazing_script', plugins_url('amazing_script.js', __FILE__), array('jquery'),'1.1', true);
                           
                            wp_enqueue_script('my_amazing_script');
                           
                            }
                           
                            add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );  
                           
                            ?>
                           | 
Пояснение:
Мы начали регистрировать наш скрипт через функцию wp_register_script(, которая принимает 5 параметров.
После прописания всех параметров в wp_register_script , мы можем вызвать скрипт в wp_enqueue_script() , который заставит все работать.
И последнее что останется сделать – это использовать активационный хук wp_enqueue_scripts, который нужен для фактической загрузки скрипта.
Так как это пример кода, то мы добавили его в самом конце.
Если вы добавляете его в тему или в плагин, то вы можете поместить этот активационный хук туда, где необходим скрипт. Это позволит вам уменьшить объем памяти вашего плагина.
Многие могут задаться вопросом: зачем мы сначала регистрируем скрипт, а потом ставим его в очередь? Делается это для того, чтобы другие владельцы сайтов могли отменить регистрацию скрипта без изменения основного кода вашего плагина.
Как и скрипты в очередь можно поставить и таблицу стилей. Вот пример:
| 
                            1
                           
                            2
                           
                            3
                           
                            4
                           
                            5
                           
                            6
                           
                            7
                           | 
                            <?php
                           
                            function wpb_adding_styles() {
                           
                            wp_register_style('my_stylesheet', plugins_url('my-stylesheet.css', __FILE__));
                           
                            wp_enqueue_style('my_stylesheet');
                           
                            }
                           
                            add_action( 'wp_enqueue_scripts', 'wpb_adding_styles' );  
                           
                            ?>
                           | 
Для добавления таблицы стилей вместо wp_enqueue_script мы используем wp_enqueue_style .
Обратите внимание, что мы используем активационный хук wp_enqueue_scripts как для скриптов, так и стилей. Несмотря на название функции она работает в обоих случаях.
В примере выше мы использовали функцию plugins_url для того, чтобы указать местоположение скрипта или стиля, которые мы хотим поставить в очередь.
Однако если вы используете функцию поочередной загрузки скриптов в своей теме, то вместо нее используйте get_template_directory_uri() . Если вы работаете с дочерней темой, то используйте get_stylesheet_directory_uri() .
Вот код:
| 
                            1
                           
                            2
                           
                            3
                           
                            4
                           
                            5
                           
                            6
                           
                            7
                           
                            8
                           
                            9
                           | 
                            <?php
                           
                            function wpb_adding_scripts() {
                           
                            wp_register_script('my_amazing_script', get_template_directory_uri() . '/js/amazing_script.js', array('jquery'),'1.1', true);
                           
                            wp_enqueue_script('my_amazing_script');
                           
                            }
                           
                            add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );  
                           
                            ?>
                           | 
Надеюсь, эта статья помогла вам разобраться, как правильно добавлять jacvascript и стили в WordPress. Возможно, вам также будет интересно изучить исходный код популярных WordPress плагинов.
Если вам понравилась статья, то не забывайте ставить лайк. Подписывайтесь и находите меня в ВКонтакте, в YouTube
Я подготовил для Вас обращение, с ним можете ознакомиться тут

Макс Метелев - автор, блоггер, актер местного театра, ведущий городских мероприятий. Делюсь только лучшим!

 Всплывающая форма обратного звонка на сайте WordPress
 Всплывающая форма обратного звонка на сайте WordPress
               Как проверить сайт на дубли страниц?
 Как проверить сайт на дубли страниц?
               Как добавить Disqus комментарии на сайте WordPress?
 Как добавить Disqus комментарии на сайте WordPress?
               11 важных правил первичной оптимизации сайтов
 11 важных правил первичной оптимизации сайтов
               Nrelate — плагин внутренней перелинковки страниц сайта
 Nrelate — плагин внутренней перелинковки страниц сайта
               Как сделать импорт CSV записей в WordPress?
 Как сделать импорт CSV записей в WordPress?
               24 плагина обязательных для установки на коммерческие сайты на 2016 год
 24 плагина обязательных для установки на коммерческие сайты на 2016 год
               Создаем красивую форму обратной связи самостоятельно
 Создаем красивую форму обратной связи самостоятельно
               57 отличных примеров сайтов на WordPress
 57 отличных примеров сайтов на WordPress
               Как настроить рубрики wordpress с помощью Rich text tags?
 Как настроить рубрики wordpress с помощью Rich text tags?
               Бизнес идея — сухая автомойка
 Бизнес идея — сухая автомойка
               18 способов где брать уникальный контент для сайта
 18 способов где брать уникальный контент для сайта
               101 полезный совет для начинающего блоггера
 101 полезный совет для начинающего блоггера
               Как установить метрику на сайт MODx
 Как установить метрику на сайт MODx
               Как правильно подключить шрифты в CSS на сайте?
 Как правильно подключить шрифты в CSS на сайте?
               Как ограничить доступ к админке wordpress?
 Как ограничить доступ к админке wordpress?
               Устанавливаем виджет яндекс пробки без информеров
 Устанавливаем виджет яндекс пробки без информеров
               Как добавить кнопку подписки на канал Youtube?
 Как добавить кнопку подписки на канал Youtube?
               Как установить фон для сайта?
 Как установить фон для сайта?
               Как привлечь рекламодателей на сайт
 Как привлечь рекламодателей на сайт