wordpress / latest / classes / wp_theme_json_resolver / get_merged_data.html

WP_Theme_JSON_Resolver::get_merged_data( string $origin = 'custom' ): WP_Theme_JSON

Returns the data merged from multiple origins.

Description

There are three sources of data (origins) for a site: default, theme, and custom. The custom’s has higher priority than the theme’s, and the theme’s higher than default’s.

Unlike the getters get_core_data, get_theme_data, and get_user_data, this method returns data after it has been merged with the previous origins.
This means that if the same piece of data is declared in different origins (user, theme, and core), the last origin overrides the previous.

For example, if the user has set a background color for the paragraph block, and the theme has done it as well, the user preference wins.

Parameters

$origin string Optional
To what level should we merge data.
Valid values are 'theme' or 'custom'. Default 'custom'.

Default: 'custom'

Return

WP_Theme_JSON

Source

File: wp-includes/class-wp-theme-json-resolver.php. View all references

public static function get_merged_data( $origin = 'custom' ) {
	if ( is_array( $origin ) ) {
		_deprecated_argument( __FUNCTION__, '5.9.0' );
	}

	$result = static::get_core_data();
	$result->merge( static::get_block_data() );
	$result->merge( static::get_theme_data() );

	if ( 'custom' === $origin ) {
		$result->merge( static::get_user_data() );
	}

	// Generate the default spacingSizes array based on the merged spacingScale settings.
	$result->set_spacing_sizes();

	return $result;
}

Uses

Uses Description

Used By

Used By Description

Changelog

Version Description
6.1.0 Added block data and generation of spacingSizes array.
5.9.0 Added user data, removed the $settings parameter, added the $origin parameter.
5.8.0 Introduced.

© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_theme_json_resolver/get_merged_data