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()

Хуков нет.

Возвращает

С версии WP 4.3 возвращает true/false. До этого ничего не возвращала.

Использование

wp_register_style( $handle, $src, $deps, $ver, $media );
$handle(строка) (обязательный)
Название подключаемого файла стилей (буквы в нижнем регистре). Должен быть уникальным, так как он будет использован как идентификатор в системе.
$src(строка) (обязательный)

УРЛ к файлу стилей. Например, http://site.ru/css/style.css. Не нужно указывать путь жестко, используйте функции: plugins_url() (для плагинов) и get_template_directory_uri() (для тем).

Внешние домены можно указывать с неявным протоколом //notmysite.ru/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' );
	}
}

Код из


wp-includes/functions.wp-styles.php

WP 4.7.3

<?php
function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
	_wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );

	return wp_styles()->add( $handle, $src, $deps, $ver, $media );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *