On this page
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
$optionsarray Optional-
An array of options to pass to wp_style_engine_get_stylesheet_from_context() .
optimizeboolWhether to optimize the CSS output, e.g., combine rules. Default isfalse.prettifyboolWhether to add new lines and indents to output. Default is the test of whether the global constantSCRIPT_DEBUGis defined.
More Arguments from wp_style_engine_get_stylesheet_from_context( ... $options )
An array of options.
optimizeboolWhether to optimize the CSS output, e.g., combine rules. Default isfalse.prettifyboolWhether to add new lines and indents to output. Default is the test of whether the global constantSCRIPT_DEBUGis 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 );
}
}
}
Related
Uses
| Uses | Description |
|---|---|
| WP_Style_Engine_CSS_Rules_Store::get_stores() wp-includes/style-engine/class-wp-style-engine-css-rules-store.php | Gets an array of all available stores. |
| wp_style_engine_get_stylesheet_from_context() wp-includes/style-engine.php | Returns compiled CSS from a store, if found. |
| wp_is_block_theme() wp-includes/theme.php | Returns whether the active theme is a block-based theme or not. |
| wp_register_style() wp-includes/functions.wp-styles.php | Register a CSS stylesheet. |
| wp_add_inline_style() wp-includes/functions.wp-styles.php | Add extra CSS styles to a registered stylesheet. |
| wp_enqueue_style() wp-includes/functions.wp-styles.php | Enqueue a CSS stylesheet. |
| doing_action() wp-includes/plugin.php | Returns whether or not an action hook is currently being processed. |
Changelog
| Version | Description |
|---|---|
| 6.1.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_enqueue_stored_styles