# Функция 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()