get_block_wrapper_attributes() WordPress Function
The get_block_wrapper_attributes() function can be used to get the attributes for a given block. This is useful for blocks that need to be wrapped in an element with specific attributes, such as a class or id. This function takes two arguments: the block name (string) and an array of attributes. The block name is the name of the block you want to get the attributes for. The array of attributes is an associative array where the keys are the attribute names and the values are the attribute values. This function returns an array of attributes for the given block. If the block does not exist, an empty array is returned.
get_block_wrapper_attributes( string[] $extra_attributes = array() ) #
Generates a string of attributes by applying to the current block being rendered all of the features that the block supports.
Parameters
- $extra_attributes
(string[])(Optional) Array of extra attributes to render on the block wrapper.
Default value: array()
Return
(string) String of HTML attributes.
Source
File: wp-includes/class-wp-block-supports.php
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 ); }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
5.6.0 | Introduced. |