Хотите научиться правильно добавлять 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
Я подготовил для Вас обращение, с ним можете ознакомиться тут
Макс Метелев - автор, блоггер, актер местного театра, ведущий городских мероприятий. Делюсь только лучшим!