ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как правильно добавлять JavaScript и стили в WordPress

Как правильно добавлять JavaScript и стили в WordPress

Недавно читал обзор кода для плагина. Плагин работал нормально, но разработчик сделал не в соответствии с рекомендациями по загрузке внешних JavaScript. WordPress имеет в системе управления очередями для добавления внешних скриптов и стилей, которая помогает предотвратить конфликтов плагинов. Поскольку у большинства пользователей работают более чем один плагин на их сайте, это всегда хорошо для разработчиков следовать лучшей практике. В этой статье рассказывается, как правильно добавить скрипты и стили в WordPress. Это будет очень полезно для начинающих заниматься изучением тем WordPress и только начали разрабатывать плагины.

Ошибка

В WordPress есть wp_head функция, которая позволяет загружать в головной раздел сайта. Для тех, кто не знает лучше просто добавлять свои скрипты, используя примерно таким кодом:

<?php
add_action('wp_head', 'wpa_bad_script');
function wpa_bad_script() {
echo 'здесь должен быть код jQuery';
}
?>

А приведенный выше код — это легкий путь, но неверный способ добавления скриптов. Например, если вы загрузите jQuery вручную, и другой плагин, который также использует jQuery загружает его по надлежащему пути, то у вас библиотека jQuery загружается два раза. Также возможно, что две разные версии, которые также могут привести к конфликтам.

Давайте рассмотрим правильный способ как сделать это.

Зачем ставить скрипты в WordPress?

WordPress имеет сильное сообщество программистов. Тысячи разработчиков по всему миру разрабатывают темы и плагины для WordPress. Чтобы убедиться, что все работает должным образом и никто не наступает на чужие носки, WordPress имеет метод enqueue функции сценария. Эта функция позволяет систематически загружать java-скрипты и стили. С помощью функции wp_enqueue_script, вы указываете WordPress когда загружать скрипт, где загрузить его, и каковы его зависимости.

Это позволяет каждому применять встроенные библиотеки JavaScript, которые идут в комплекте с WordPress вместо того чтобы загружать один и тот же сторонний скрипт несколько раз. Это также помогает уменьшить затраты на загрузку страницы и избежать конфликтов с другими темами и плагинами.

Как правильно ставить скрипты в WordPress

Загрузка скриптов надлежащим образом в WordPress очень легко. Ниже приведен пример кода, что бы вы вставили в ваш файл плагина или в вашу тему файла functions.php где загружается нормально скрипты в WordPress.

<?php
&nbsp;
function wpa_adding_scripts() {
wp_register_script('moy_amazing_script', plugins_url('moy_script.js', __FILE__),array('jquery'),'1.1', true);
wp_enqueue_script('moy_amazing_script');
}
&nbsp;
add_action( 'wp_enqueue_scripts', 'wpa_adding_scripts' );
?>

Объяснение:

Мы начали регистрировать наш скрипт через функцию wp_register_script(). Эта функция имеет 5 параметров:

После предоставления всех параметров в wp_register_script, мы можем просто вызвать скрипт в wp_enqueue_script (), которая заставляет все работать.

Сейчас Вы можете задаться вопросом, зачем мы идем на дополнительный шаг, чтобы зарегистрировать сценарий сначала, а потом отправляю его? Это позволит другим владельцем сайта, чтобы вычеркнуть из списка ваш сценарий, если они хотят без изменения основного кода вашего плагина.

Как правильно ставить стили

Как и добавление скриптов, Вы также можете добавлять свои таблицы стилей. Пример ниже:

<?php
function wpa_adding_styles() {
wp_register_script('moy_stylesheet', plugins_url('moy-stylesheet.css', __FILE__));
wp_enqueue_script('moy_stylesheet');
}
add_action( 'wp_enqueue_scripts', 'wpa_adding_styles' );
?>

Обратите внимание, что мы воспользовались wp_enqueue_scripts повторно для обоих стилей и скриптов. Несмотря на название, эта функция работает для обоих.

В примерах выше мы использовали plugins_url, чтобы указать на местоположение скрипта или стиля мы хотели ставить в очередь. Однако, если вы используете скрипты, добавляют функцию в вашу тему, затем просто использовать get_template_directory_uri() вместо этого. Если вы работаете с дочерней темой, а затем использовать get_stylesheet_directory_uri(). Ниже приведен пример кода:

<?php
function wpa_adding_scripts() {
wp_register_script('moy_amazing_script', get_template_directory_uri() . '/js/amazing_script.js',array('jquery'),'1.1', true);
wp_enqueue_script('moy_amazing_script');
}
add_action( 'wp_enqueue_scripts', 'wpa_adding_scripts' );
?>

Надеюсь, данная статья поможет вам в разработке JavaScript и стилей в WordPress для тем и плагинов. Для вопросов и комментариев, оставьте комментарий ниже.

Exit mobile version