get_block_wrapper_attributes() – Generates a string of attributes by applying to the current block being rendered all of the features that the block supports.

You appear to be a bot. Output may be restricted

Description

Generates a string of attributes by applying to the current block being rendered all of the features that the block supports.

Usage

$string = get_block_wrapper_attributes( $extra_attributes );

Parameters

$extra_attributes
( string[] ) optional – Optional. Array of extra attributes to render on the block wrapper.

Returns

string String of HTML attributes.

Source

File name: wordpress/wp-includes/class-wp-block-supports.php
Lines:

1 to 46 of 46
function get_block_wrapper_attributes( $extra_attributes = array() ) {
  $new_attributes = WP_Block_Supports::get_instance()->apply_block_supports();

  if ( empty( $new_attributes ) && empty( $extra_attributes ) ) {
    return '';
  }

  // This is hardcoded on purpose.
  // We only support a fixed list of attributes.
  $attributes_to_merge = array( 'style', 'class' );
  $attributes          = array();
  foreach ( $attributes_to_merge as $attribute_name ) {
    if ( empty( $new_attributes[ $attribute_name ] ) && empty( $extra_attributes[ $attribute_name ] ) ) {
      continue;
    }

    if ( empty( $new_attributes[ $attribute_name ] ) ) {
      $attributes[ $attribute_name ] = $extra_attributes[ $attribute_name ];
      continue;
    }

    if ( empty( $extra_attributes[ $attribute_name ] ) ) {
      $attributes[ $attribute_name ] = $new_attributes[ $attribute_name ];
      continue;
    }

    $attributes[ $attribute_name ] = $extra_attributes[ $attribute_name ] . ' ' . $new_attributes[ $attribute_name ];
  }

  foreach ( $extra_attributes as $attribute_name => $value ) {
    if ( ! in_array( $attribute_name, $attributes_to_merge, true ) ) {
      $attributes[ $attribute_name ] = $value;
    }
  }

  if ( empty( $attributes ) ) {
    return '';
  }

  $normalized_attributes = array();
  foreach ( $attributes as $key => $value ) {
    $normalized_attributes[] = $key . '="' . esc_attr( $value ) . '"';
  }

  return implode( ' ', $normalized_attributes );
}
 

 View on GitHub View on Trac