Wp_enqueue_style() - функция WordPress
01.09.2018
Рекомендуемый метод подключения CSS-стилей в WordPress. Так же, как и wp_enqueue_script() , эта функция ставит файл в очередь на вывод. После этого выводит его в HTML либо между тегами <head>, либо в футере сайта.
Стили выводятся в футере (перед </body>) только в том случае, если они были поставлены в очередь на вывод где-то в середине HTML-документа.
wp_enqueue_style ( $handle , $src = false , $deps = array ( ) , $ver = false , $media = 'all' ) |
Примеры
Во всех примерах будем использовать один и тот же файл true_style.css. Стили также можно подключать через хуки wp_enqueue_scripts и admin_enqueue_scripts, хотя это и не обязательно, как со скриптами.
Adding Scripts & Stylesheets with WP enqueue in Wordpress
Итак, сначала подключим файл во фронтэнде сайта:
function true_style_frontend ( ) { wp_enqueue_style ( 'true_style' , get_stylesheet_directory_uri ( ) . '/css/true_style.css' ) ; } add_action ( 'wp_enqueue_scripts' , 'true_style_frontend' ) ; |
Можно подключить файл непосредственно на сайт, вставив функцию прямо в HTML-шаблон, или же в functions.php, при этом не забыв воспользоваться условным тегом is_admin() .
if ( !is_admin ( ) ) wp_enqueue_style ( 'true_style' , get_stylesheet_directory_uri ( ) . '/css/true_style.css' , array ( ) , '14981210' , 'screen' ) ; |
Теперь сделаем так, чтобы файл подключался только в админке:
function true_style_backend ( ) { wp_enqueue_style ( 'true_style' , get_stylesheet_directory_uri ( ) . '/css/true_style.css' ) ; } add_action ( 'admin_enqueue_scripts' , 'true_style_backend' ) ; |
А что, если файл с указанным рабочим названием уже зарегистрирован через wp_register_style()? Тогда подключить его будет ещё проще. Опять-таки пример для админки:
if ( is_admin ( ) ) wp_enqueue_style ( 'true_style' ) ; |
Кстати, список всех зарегистрированных стилей можно узнать следующим образом:
/* * Объект $wp_styles содержит информацию обо всех зарегистрированных на данный момент стилях */ global $wp_styles ; print_r ( $wp_styles ) ; |
CSS специально для настроек плагина
В данном случае очевидно, что файл с таблицей стилей нужно использовать только на одной-единственной странице — странице настроек данного плагина. WordPress позволяет реализовать это при помощи специального хука.
Итак, предположим, у нас есть какой-то плагин, вставляем в него следующий код:
/* * Пример будет работать начиная с версии WordPress 2.6.3, */ add_action ( 'admin_init' , 'true_plugin_init' ) ; add_action ( 'admin_menu' , 'true_plugin_menu' ) ; function true_plugin_init ( ) { /* * Сначала регистрируем стили * файл CSS должен находиться в папке с выполняемым файлов плагина */ wp_register_style ( 'trueplugin' , plugins_url ( 'true-plugin.css' , __FILE__ ) ) ; } function true_plugin_menu ( ) { /* * Создаем страницу настроек плагина, она будет находиться в разделе Параметры */ $page_suffix = add_submenu_page ( 'options-general.php' , 'True плагин' , 'True плагин настройки' , 'administrator' , __FILE__ , 'true_plugin_html' ) ; /* * Создаем хук, содержащий суффикс созданной страницы настроек $page_suffix */ add_action ( 'admin_print_styles-' . $page_suffix , 'true_plugin_styles' ) ; } function true_plugin_styles ( ) { /* * Ставим в очередь на вывод */ wp_enqueue_style ( 'trueplugin' ) ; } function true_plugin_html ( ) { /* * Собственно содержимое страницы настроек */ echo 'Это страница настроек' ; } |