WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

wp_add_inline_style() WP 3.3.0

Добавляет дополнительный блок CSS стилей. CSS добавляются прямо в html документ, после основных (указанных) стилей.

Работает, когда стили к которым прикрепляется дополнительный блок уже были добавлены в очередь. В параметре $data нужно сами стили CSS, пр.: '.container{ width:50%; }'.

Если более одного блока CSS стилей добавлено к одинаковому файлу стилей (параметр $handle), то блоки будут выведены в порядке их добавления, т.е. более поздний блок будет "перебивать", при совпадении, стили предыдущего блока.

Для добавления внешних файлов CSS стилей, используйте wp_enqueue_style().

Хуков нет.

Возвращает

Логические true, если удалось добавить стили и false, если нет.

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

wp_add_inline_style( $handle, $data );
$handle(строка) (обязательный)
Название стилей (идентификатор) к которому добавить дополнительный блок стилей. Строка в нижнем регистре.
$data(строка) (обязательный)
Строка содержащая CSS правила, которые нужно добавить на страницу.

Примеры

#1 Добавим дополнительные CSS стили

Добавим экстра стили, к уже добавленным на страницу стилям. Например, представим, что плагин или тема использует класс .mycolor для изменения фона элемента. Этим кодом мы можем переписать цвет фона, который получим из настроек темы get_theme_mod('my-custom-color'):

function my_styles_method() {
	wp_enqueue_style('custom-style', get_template_directory_uri() . '/css/custom_script.css');
	$color = get_theme_mod( 'my-custom-color' ); // #FF0000
	$custom_css = "
		.mycolor{
			background: {$color};
		}";
	wp_add_inline_style( 'custom-style', $custom_css );
}
add_action( 'wp_enqueue_scripts', 'my_styles_method' );

Код wp add inline style: wp-includes/functions.wp-styles.php WP 4.8.1

<?php
function wp_add_inline_style( $handle, $data ) {
	_wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );

	if ( false !== stripos( $data, '</style>' ) ) {
		_doing_it_wrong( __FUNCTION__, sprintf(
			/* translators: 1: <style>, 2: wp_add_inline_style() */
			__( 'Do not pass %1$s tags to %2$s.' ),
			'<code>&lt;style&gt;</code>',
			'<code>wp_add_inline_style()</code>'
		), '3.7.0' );
		$data = trim( preg_replace( '#<style[^>]*>(.*)</style>#is', '$1', $data ) );
	}

	return wp_styles()->add_inline_style( $handle, $data );
}

Cвязанные функции

Из метки: styles (стили)

Еще из раздела: Регистрация script и style

wp_add_inline_style 4 комментария
  • Andrey

    Спасибо за сайт! Аналогов на русском языке не знаю по wordpress-у. Когда добавятся в справочник get_theme_mod и set_theme_mod?

    1
    Ответить1.7 года назад #
  • Роман

    Добрый день!
    А есть ли функция типа wp_deadd_inline_style?

Здравствуйте, !

Ваш комментарий