wp_get_block_name_from_theme_json_path()WP 6.3.0

Gets the block name from a given theme.json path.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Return

String. Identified block name, or empty string if none found.

Usage

wp_get_block_name_from_theme_json_path( $path );
$path(array) (required)
An array of keys describing the path to a property in theme.json.

Changelog

Since 6.3.0 Introduced.

wp_get_block_name_from_theme_json_path() code WP 6.5.4

function wp_get_block_name_from_theme_json_path( $path ) {
	// Block name is expected to be the third item after 'styles' and 'blocks'.
	if (
		count( $path ) >= 3
		&& 'styles' === $path[0]
		&& 'blocks' === $path[1]
		&& str_contains( $path[2], '/' )
	) {
		return $path[2];
	}

	/*
	 * As fallback and for backward compatibility, allow any core block to be
	 * at any position.
	 */
	$result = array_values(
		array_filter(
			$path,
			static function ( $item ) {
				if ( str_contains( $item, 'core/' ) ) {
					return true;
				}
				return false;
			}
		)
	);
	if ( isset( $result[0] ) ) {
		return $result[0];
	}
	return '';
}