wp_migrate_old_typography_shape() – Converts typography keys declared under `supports.*` to `supports.typography.*`.

You appear to be a bot. Output may be restricted

Description

Converts typography keys declared under supports.* to `supports.typography.*`.

Displays a _doing_it_wrong() notice when a block using the older format is detected.

Usage

$array = wp_migrate_old_typography_shape( $metadata );

Parameters

$metadata
( array ) required – Metadata for registering a block type.

Returns

array Filtered metadata for registering a block type.

Source

File name: wordpress/wp-includes/blocks.php
Lines:

1 to 41 of 41
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;
}
 

 View on GitHub View on Trac