wp_register_style()
Регистрирует CSS файл в WordPress. После регистрации файл можно добавить в html документ с помощью функции wp_enqueue_style().
Нужно использовать эту функцию, чтобы правильно подключить CSS файлы в WordPress. Для скриптов такой функцией является wp_register_script().
Эта функция только регистрирует файл, чтобы он был подключен и выведен, его нужно добавить в очередь с помощью wp_enqueue_style(). Файл будет добавлен в <head> часть документа.
Подключать файлы так, а не напрямую в коде, выгодно для дальнейшей оптимизации. Если все файлы подключены через систему регистрации WP, то затем можно использовать плагины, чтобы объединить все стили в один и отдавать их в сжатом виде, на лету.
Для вызова этой функции используйте события: wp_enqueue_scripts
и/или admin_enqueue_scripts
. Вызов функции за пределами этого события может вызвать ошибки.
Список всех зарегистрированных стилей по умолчанию в WordPress смотрите в коде функции wp_default_styles()
Хуков нет.
Возвращает
true|false
. 3 возвращает true/false. До этого ничего не возвращала.
Использование
wp_register_style( $handle, $src, $deps, $ver, $media );
- $handle(строка) (обязательный)
- Название подключаемого файла стилей (буквы в нижнем регистре). Должен быть уникальным, так как он будет использован как идентификатор в системе.
- $src(строка) (обязательный)
УРЛ к файлу стилей. Например, http://example.com/css/style.css. Не нужно указывать путь жестко, используйте функции: plugins_url() (для плагинов) и get_template_directory_uri() (для тем).
Внешние домены можно указывать с неявным протоколом //notmyexample.com/css/style.css.
- $deps(массив)
- Массив идентификаторов других стилей, от которых зависит подключаемый файл стилей. Указанные тут стили, будут подключены до текущего.
По умолчанию: array() - $ver(строка/логический)
- Строка определяющая версию стилей. Версия будет добавлена в конец ссылки на файл:
?ver=3.5.1
. Если не указать (установлено false), будет использована версия WordPress. Если установить null, то никакая версия не будет установлена.
По умолчанию: false - $media(строка)
Устанавливается значение атрибута media. media указывает тип устройства для которого будет работать текущий стиль. Может быть:
all
screen
handheld
print
Полный список смотрите здесь.
По умолчанию: 'all'
Примеры
#1 При написании плагина (за пределами PHP класса)
// регистрируем стили add_action( 'wp_enqueue_scripts', 'register_plugin_styles' ); // регистрируем файл стилей и добавляем его в очередь function register_plugin_styles() { wp_register_style( 'my-plugin', plugins_url( 'my-plugin/css/plugin.css' ) ); wp_enqueue_style( 'my-plugin' ); }
#2 При написании плагина (внутри PHP класса)
class my_plugin { function __construct() { // регистрируем стили add_action( 'wp_enqueue_scripts', array( $this, 'register_plugin_styles' ) ); } // регистрируем файл стилей и добавляем его в очередь public function register_plugin_styles() { wp_register_style( 'my-plugin', plugins_url( 'my-plugin/css/plugin.css' ) ); wp_enqueue_style( 'my-plugin' ); } }
#3 Как всегда загружать свежие файлы стилей и скриптов в браузере?
Смотрите в вопросах:
Заметки
- Смотрите: WP_Dependencies::add()
Список изменений
С версии 2.6.0 | Введена. |
С версии 4.3.0 | A return value was added. |
Код wp_register_style() wp register style WP 6.6.1
function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) { _wp_scripts_maybe_doing_it_wrong( __FUNCTION__, $handle ); return wp_styles()->add( $handle, $src, $deps, $ver, $media ); }