WP_Block_Supports::apply_block_supports(): string[]

In this article

Generates an array of HTML attributes, such as classes, by applying to the given block all of the features that the block supports.

Return

string[] Array of HTML attribute values keyed by their name.

Source

public function apply_block_supports() {
	$block_type = WP_Block_Type_Registry::get_instance()->get_registered(
		self::$block_to_render['blockName']
	);

	// If no render_callback, assume styles have been previously handled.
	if ( ! $block_type || empty( $block_type ) ) {
		return array();
	}

	$block_attributes = array_key_exists( 'attrs', self::$block_to_render )
		? self::$block_to_render['attrs']
		: array();

	$output = array();
	foreach ( $this->block_supports as $block_support_config ) {
		if ( ! isset( $block_support_config['apply'] ) ) {
			continue;
		}

		$new_attributes = call_user_func(
			$block_support_config['apply'],
			$block_type,
			$block_attributes
		);

		if ( ! empty( $new_attributes ) ) {
			foreach ( $new_attributes as $attribute_name => $attribute_value ) {
				if ( empty( $output[ $attribute_name ] ) ) {
					$output[ $attribute_name ] = $attribute_value;
				} else {
					$output[ $attribute_name ] .= " $attribute_value";
				}
			}
		}
	}

	return $output;
}

Changelog

VersionDescription
5.6.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.