wp_get_global_styles( array $path = array(), array $context = array() ): mixed

Gets the styles resulting of merging core, theme, and user data.

Parameters

$patharrayoptional
Path to the specific style to retrieve. Optional.
If empty, will return all styles.

Default:array()

$contextarrayoptional
Metadata to know where to retrieve the $path from. Optional.
  • block_name string
    Which block to retrieve the styles from.
    If empty, it’ll return the styles for the global context.
  • origin string
    Which origin to take data from.
    Valid values are 'all' (core, theme, and user) or 'base' (core and theme).
    If empty or unknown, 'all' is used.
  • transforms array
    Which transformation(s) to apply.
    Valid value is array( 'resolve-variables' ).
    If defined, variables are resolved to their value in the styles.

Default:array()

Return

mixed The styles array or individual style value to retrieve.

Source

function wp_get_global_styles( $path = array(), $context = array() ) {
	if ( ! empty( $context['block_name'] ) ) {
		$path = array_merge( array( 'blocks', $context['block_name'] ), $path );
	}

	$origin = 'custom';
	if ( isset( $context['origin'] ) && 'base' === $context['origin'] ) {
		$origin = 'theme';
	}

	$resolve_variables = isset( $context['transforms'] )
	&& is_array( $context['transforms'] )
	&& in_array( 'resolve-variables', $context['transforms'], true );

	$merged_data = WP_Theme_JSON_Resolver::get_merged_data( $origin );
	if ( $resolve_variables ) {
		$merged_data = WP_Theme_JSON::resolve_variables( $merged_data );
	}
	$styles = $merged_data->get_raw_data()['styles'];
	return _wp_array_get( $styles, $path, $styles );
}

Changelog

VersionDescription
6.3.0transforms is now usable in the context parameter. In case [transforms]['resolve_variables'] is defined, variables are resolved to their value in the styles.
5.9.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.