wp_migrate_old_typography_shape

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

WordPress Version: 6.4

/**
 * Converts typography keys declared under `supports.*` to `supports.typography.*`.
 *
 * Displays a `_doing_it_wrong()` notice when a block using the older format is detected.
 *
 * @since 5.8.0
 *
 * @param array $metadata Metadata for registering a block type.
 * @return array Filtered metadata for registering a block type.
 */
function wp_migrate_old_typography_shape($metadata)
{
    if (!isset($metadata['supports'])) {
        return $metadata;
    }
    $typography_keys = array('__experimentalFontFamily', '__experimentalFontStyle', '__experimentalFontWeight', '__experimentalLetterSpacing', '__experimentalTextDecoration', '__experimentalTextTransform', 'fontSize', 'lineHeight');
    foreach ($typography_keys as $typography_key) {
        $support_for_key = isset($metadata['supports'][$typography_key]) ? $metadata['supports'][$typography_key] : null;
        if (null !== $support_for_key) {
            _doing_it_wrong('register_block_type_from_metadata()', sprintf(
                /* translators: 1: Block type, 2: Typography supports key, e.g: fontSize, lineHeight, etc. 3: block.json, 4: Old metadata key, 5: New metadata key. */
                __('Block "%1$s" is declaring %2$s support in %3$s file under %4$s. %2$s support is now declared under %5$s.'),
                $metadata['name'],
                "<code>{$typography_key}</code>",
                '<code>block.json</code>',
                "<code>supports.{$typography_key}</code>",
                "<code>supports.typography.{$typography_key}</code>"
            ), '5.8.0');
            _wp_array_set($metadata['supports'], array('typography', $typography_key), $support_for_key);
            unset($metadata['supports'][$typography_key]);
        }
    }
    return $metadata;
}

WordPress Version: 5.8

/**
 * Converts typography keys declared under `supports.*` to `supports.typography.*`.
 *
 * Displays a `_doing_it_wrong()` notice when a block using the older format is detected.
 *
 * @since 5.8.0
 *
 * @param array $metadata Metadata for registering a block type.
 * @return array Filtered metadata for registering a block type.
 */
function wp_migrate_old_typography_shape($metadata)
{
    if (!isset($metadata['supports'])) {
        return $metadata;
    }
    $typography_keys = array('__experimentalFontFamily', '__experimentalFontStyle', '__experimentalFontWeight', '__experimentalLetterSpacing', '__experimentalTextDecoration', '__experimentalTextTransform', 'fontSize', 'lineHeight');
    foreach ($typography_keys as $typography_key) {
        $support_for_key = _wp_array_get($metadata['supports'], array($typography_key), null);
        if (null !== $support_for_key) {
            _doing_it_wrong('register_block_type_from_metadata()', sprintf(
                /* translators: 1: Block type, 2: Typography supports key, e.g: fontSize, lineHeight, etc. 3: block.json, 4: Old metadata key, 5: New metadata key. */
                __('Block "%1$s" is declaring %2$s support in %3$s file under %4$s. %2$s support is now declared under %5$s.'),
                $metadata['name'],
                "<code>{$typography_key}</code>",
                '<code>block.json</code>',
                "<code>supports.{$typography_key}</code>",
                "<code>supports.typography.{$typography_key}</code>"
            ), '5.8.0');
            _wp_array_set($metadata['supports'], array('typography', $typography_key), $support_for_key);
            unset($metadata['supports'][$typography_key]);
        }
    }
    return $metadata;
}