Adds extra CSS styles to a registered stylesheet.
Description
Styles will only be added if the stylesheet is already in the queue.
Accepts a string $data containing the CSS. If two or more CSS code blocks are added to the same stylesheet $handle, they will be printed in the order they were added, i.e. the latter added styles can redeclare the previous.
See also
Parameters
$handle
stringrequired- Name of the stylesheet to add the extra styles to.
$data
stringrequired- String containing the CSS styles to be added.
Source
function wp_add_inline_style( $handle, $data ) {
_wp_scripts_maybe_doing_it_wrong( __FUNCTION__, $handle );
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><style></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 );
}
Changelog
Version | Description |
---|---|
3.3.0 | Introduced. |
Example
wp_add_inline_style
allows you to print extra styling whenever a certain stylesheet is loaded. For instance suppose a plug-in or theme makes use of the class.mycolor
in a stylesheet to set a background color. This can be over-ridden by a user chosen color, stored in the database by usingwp_add_inline_style
to print the extra styling.