WP_ENQUEUE_STYLE() — добавление CSS-стилей на страницу

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

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *