WP_Theme_JSON_Resolver::get_merged_data() – Returns the data merged from multiple origins.

You appear to be a bot. Output may be restricted


Returns the data merged from multiple origins.

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 {@link https://developer.wordpress.org/reference/classes/wp_theme_json_resolver/get_core_data/ get_core_data}, {@link https://developer.wordpress.org/reference/classes/wp_theme_json_resolver/get_theme_data/ get_theme_data}, and {@link https://developer.wordpress.org/reference/classes/wp_theme_json_resolver/get_user_data/ 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.


$WP_Theme_JSON = WP_Theme_JSON_Resolver::get_merged_data( $origin );


( string ) optional default: custom – Optional. To what level should we merge data. Valid values are 'theme' or 'custom'. Default 'custom'.




File name: wordpress/wp-includes/class-wp-theme-json-resolver.php

1 to 15 of 15
  public static function get_merged_data( $origin = 'custom' ) {
    if ( is_array( $origin ) ) {
      _deprecated_argument( __FUNCTION__, '5.9.0' );

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

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

    return $result;

 View on GitHub View on Trac