WP_Theme_JSON_Resolver::get_user_data() WordPress Method

The WP_Theme_JSON_Resolver::get_user_data() function is used to get the user data for a given theme. This function is used internally by the Wordpress codebase to retrieve user data when a theme is being installed or updated.

WP_Theme_JSON_Resolver::get_user_data() #

Returns the user’s origin config.


Return

(WP_Theme_JSON) Entity that holds styles for user data.


Top ↑

Source

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

	public static function get_user_data() {
		if ( null !== static::$user ) {
			return static::$user;
		}

		$config   = array();
		$user_cpt = static::get_user_data_from_wp_global_styles( wp_get_theme() );

		if ( array_key_exists( 'post_content', $user_cpt ) ) {
			$decoded_data = json_decode( $user_cpt['post_content'], true );

			$json_decoding_error = json_last_error();
			if ( JSON_ERROR_NONE !== $json_decoding_error ) {
				trigger_error( 'Error when decoding a theme.json schema for user data. ' . json_last_error_msg() );
				return new WP_Theme_JSON( $config, 'custom' );
			}

			// Very important to verify that the flag isGlobalStylesUserThemeJSON is true.
			// If it's not true then the content was not escaped and is not safe.
			if (
				is_array( $decoded_data ) &&
				isset( $decoded_data['isGlobalStylesUserThemeJSON'] ) &&
				$decoded_data['isGlobalStylesUserThemeJSON']
			) {
				unset( $decoded_data['isGlobalStylesUserThemeJSON'] );
				$config = $decoded_data;
			}
		}
		static::$user = new WP_Theme_JSON( $config, 'custom' );

		return static::$user;
	}


Top ↑

Changelog

Changelog
VersionDescription
5.9.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.