wp_enqueue_stored_styles( array $options = array() ): void
Fetches, processes and compiles stored core styles, then combines and renders them to the page.
Description
Styles are stored via the style engine API.
Parameters
-
$options
array Optional -
An array of options to pass to wp_style_engine_get_stylesheet_from_context() .
optimize
boolWhether to optimize the CSS output, e.g., combine rules. Default isfalse
.prettify
boolWhether to add new lines and indents to output. Default is the test of whether the global constantSCRIPT_DEBUG
is defined.
More Arguments from wp_style_engine_get_stylesheet_from_context( ... $options )
An array of options.
optimize
boolWhether to optimize the CSS output, e.g., combine rules. Default isfalse
.prettify
boolWhether to add new lines and indents to output. Default is the test of whether the global constantSCRIPT_DEBUG
is defined.
Default:
array()
Return
void
Source
File: wp-includes/script-loader.php
.
View all references
function wp_enqueue_stored_styles( $options = array() ) {
$is_block_theme = wp_is_block_theme();
$is_classic_theme = ! $is_block_theme;
/*
* For block themes, this function prints stored styles in the header.
* For classic themes, in the footer.
*/
if (
( $is_block_theme && doing_action( 'wp_footer' ) ) ||
( $is_classic_theme && doing_action( 'wp_enqueue_scripts' ) )
) {
return;
}
$core_styles_keys = array( 'block-supports' );
$compiled_core_stylesheet = '';
$style_tag_id = 'core';
// Adds comment if code is prettified to identify core styles sections in debugging.
$should_prettify = isset( $options['prettify'] ) ? true === $options['prettify'] : defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
foreach ( $core_styles_keys as $style_key ) {
if ( $should_prettify ) {
$compiled_core_stylesheet .= "/**\n * Core styles: $style_key\n */\n";
}
// Chains core store ids to signify what the styles contain.
$style_tag_id .= '-' . $style_key;
$compiled_core_stylesheet .= wp_style_engine_get_stylesheet_from_context( $style_key, $options );
}
// Combines Core styles.
if ( ! empty( $compiled_core_stylesheet ) ) {
wp_register_style( $style_tag_id, false, array(), true, true );
wp_add_inline_style( $style_tag_id, $compiled_core_stylesheet );
wp_enqueue_style( $style_tag_id );
}
// Prints out any other stores registered by themes or otherwise.
$additional_stores = WP_Style_Engine_CSS_Rules_Store::get_stores();
foreach ( array_keys( $additional_stores ) as $store_name ) {
if ( in_array( $store_name, $core_styles_keys, true ) ) {
continue;
}
$styles = wp_style_engine_get_stylesheet_from_context( $store_name, $options );
if ( ! empty( $styles ) ) {
$key = "wp-style-engine-$store_name";
wp_register_style( $key, false, array(), true, true );
wp_add_inline_style( $key, $styles );
wp_enqueue_style( $key );
}
}
}
Changelog
Version | Description |
---|---|
6.1.0 | Introduced. |