wp_get_global_styles_custom_css() – Gets the global styles custom CSS from theme.json.

You appear to be a bot. Output may be restricted

Description

Gets the global styles custom CSS from theme.json.

Usage

$string = wp_get_global_styles_custom_css();

Parameters

Returns

string The global styles custom CSS.

Source

File name: wordpress/wp-includes/global-styles-and-settings.php
Lines:

1 to 44 of 44
function wp_get_global_styles_custom_css() {
  if ( ! wp_theme_has_theme_json() ) {
    return '';
  }
  /*
	 * Ignore cache when the development mode is set to 'theme', so it doesn't interfere with the theme
	 * developer's workflow.
	 */
  $can_use_cached = ! wp_is_development_mode( 'theme' );

  /*
	 * By using the 'theme_json' group, this data is marked to be non-persistent across requests.
	 * @see `wp_cache_add_non_persistent_groups()`.
	 *
	 * The rationale for this is to make sure derived data from theme.json
	 * is always fresh from the potential modifications done via hooks
	 * that can use dynamic data (modify the stylesheet depending on some option,
	 * settings depending on user permissions, etc.).
	 * See some of the existing hooks to modify theme.json behavior:
	 * @see https://make.wordpress.org/core/2022/10/10/filters-for-theme-json-data/
	 *
	 * A different alternative considered was to invalidate the cache upon certain
	 * events such as options add/update/delete, user meta, etc.
	 * It was judged not enough, hence this approach.
	 * @see https://github.com/WordPress/gutenberg/pull/45372
	 */
  $cache_key   = 'wp_get_global_styles_custom_css';
  $cache_group = 'theme_json';
  if ( $can_use_cached ) {
    $cached = wp_cache_get( $cache_key, $cache_group );
    if ( $cached ) {
      return $cached;
    }
  }

  $tree       = WP_Theme_JSON_Resolver::get_merged_data();
  $stylesheet = $tree->get_custom_css();

  if ( $can_use_cached ) {
    wp_cache_set( $cache_key, $stylesheet, $cache_group );
  }

  return $stylesheet;
}
 

 View on GitHub View on Trac