WP_Theme_JSON_Resolver::has_same_registered_blocks()protected staticWP 6.1.0

Checks whether the registered blocks were already processed for this origin.

Method of the class: WP_Theme_JSON_Resolver{}

No Hooks.

Return

true|false. True on success, false otherwise.

Usage

$result = WP_Theme_JSON_Resolver::has_same_registered_blocks( $origin );
$origin(string) (required)
Data source for which to cache the blocks. Valid values are 'core', 'blocks', 'theme', and 'user'.

Changelog

Since 6.1.0 Introduced.

WP_Theme_JSON_Resolver::has_same_registered_blocks() code WP 6.5.2

protected static function has_same_registered_blocks( $origin ) {
	// Bail out if the origin is invalid.
	if ( ! isset( static::$blocks_cache[ $origin ] ) ) {
		return false;
	}

	$registry = WP_Block_Type_Registry::get_instance();
	$blocks   = $registry->get_all_registered();

	// Is there metadata for all currently registered blocks?
	$block_diff = array_diff_key( $blocks, static::$blocks_cache[ $origin ] );
	if ( empty( $block_diff ) ) {
		return true;
	}

	foreach ( $blocks as $block_name => $block_type ) {
		static::$blocks_cache[ $origin ][ $block_name ] = true;
	}

	return false;
}