wp_get_block_name_from_theme_json_path

The timeline below displays how wordpress function wp_get_block_name_from_theme_json_path has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

/**
 * Gets the block name from a given theme.json path.
 *
 * @since 6.3.0
 * @access private
 *
 * @param array $path An array of keys describing the path to a property in theme.json.
 * @return string Identified block name, or empty string if none found.
 */
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 '';
}