# Функция WP_ENQUEUE_STYLE() │ WP 2.6.0
Функция wp_enqueue_style() добавляет CSS-стили на страницу. Она также регистрирует файл стиля, если он еще не был зарегистрирован.
Если файл стиля уже был зарегистрирован с помощью функции wp_register_style(), вы можете просто использовать его имя (параметр $handle), чтобы добавить его на страницу.
Если файл стиля не зарегистрирован, эта функция сначала зарегистрирует его, а затем добавит на страницу.
Добавленные стили будут выведены в теге <head>.
С версии 3.3 функцию можно вызывать в середине документа, и в этом случае файл стиля будет выведен в футере, перед закрывающим тегом </body>, где вызывается wp_footer().
Эта функция, как и wp_enqueue_script(), должна быть подключена к одному из следующих хуков (событий):
- wp_enqueue_scripts — для фронтенда (передней части сайта).
- admin_enqueue_scripts — для админ-панели.
- login_enqueue_scripts — для страницы входа/регистрации (wp-login.php).
Для добавления условий загрузки стилей используйте wp_style_add_data().
Если вы хотите добавить свои CSS-стили на страницу, используйте wp_add_inline_style().
Если ваша тема не содержит вызовов wp_head() или wp_footer(), эта функция может не сработать. Дело в том, что стили загружаются в связке с хуками, создаваемыми этими функциями.
**Возврат:**
null. Ничего (null).
## Использование
```php
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
-
$handle(строка) (обязательный): имя стиля (идентификатор). Это строка в нижнем регистре. Если в строке есть знак вопроса (например,styleaculous?v=1.2), то часть до знака вопроса будет именем стиля, а все, что после, добавится к URL в качестве параметров запроса. Это позволяет указывать, например, версию стиля. -
$src(строка): URL файла стиля. Например,http://example.com/css/style.css. Не нужно указывать жестко заданный путь, используйте такие функции, какplugins_url()(для плагинов) иget_template_directory_uri()(для тем). Можно также указать внешние домены с неявным протоколом//example.com/css/style.css.
По умолчанию: '' (пустая строка) -
$deps(массив): массив идентификаторов зарегистрированных стилей, от которых зависит данный стиль. Эти стили будут загружены перед текущим.
По умолчанию: пустой массив -
$ver(строка/true/false/null): версия стиля. Версия будет добавлена в конце URL стиля как?ver=3.5.1. Если значениеfalse, то автоматически добавляется версия, равная текущей установленной версии WordPress. Еслиnull, то версия не добавляется.
По умолчанию: false -
$media(строка): медиа тип, для которого определен этот стиль. Принимает типы медиасодержимого, как 'all', 'print' и 'screen', или медиазапросы, как '(orientation: portrait)' и '(max-width: 640px)'.
По умолчанию: 'all'
Примеры
Пример 1: Загрузка стилей для страницы подменю плагина
add_action( 'admin_menu', 'my_plugin_admin_menu' );
function my_plugin_admin_menu() {
// Регистрируем страницу плагина
$page = add_submenu_page(
'edit.php',
__( 'Мой Плагин', 'myPlugin' ),
__( 'Мой Плагин', 'myPlugin' ),
'administrator',
__FILE__,
'my_plugin_manage_menu'
);
// Присоединяем нужный хук с помощью идентификатора страницы плагина
add_action('load-'. $page, 'my_plugin_admin_styles');
}
// Эта функция будет вызвана только на странице плагина
function my_plugin_admin_styles() {
wp_enqueue_style( 'myPluginStylesheet', plugins_url('stylesheet.css', __FILE__) );
}
// Код страницы
function my_plugin_manage_menu() {
// код страницы
}
Пример 2: Основное использование
В этом примере мы зарегистрируем и добавим стили и скрипты, используя хук wp_enqueue_scripts.
// Правильный способ добавления стилей и скриптов на страницу
add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );
function theme_name_scripts() {
wp_enqueue_style( 'style-name', get_stylesheet_uri() );
wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}
Вставьте этот код в файл вашей темы functions.php или в плагин, перед вызовом wp_head() в header.php.
Заметки
Функция использует глобальную переменную $wp_styles, которая является экземпляром класса WP_Styles. Она использует методы WP_Styles::add(), WP_Styles::enqueue().
Изменения
- С 2.6.0 — введена функция.
Связанные функции
wp_add_inline_style()wp_dequeue_style()wp_deregister_style()wp_get_custom_css()wp_register_style()wp_style_add_data()wp_style_is()