_wp_add_block_level_presets_class()
Update the block content with block level presets class name.
Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.
No Hooks.
Returns
String. Filtered block content.
Usage
_wp_add_block_level_presets_class( $block_content, $block );
- $block_content(string) (required)
- Rendered block content.
- $block(array) (required)
- Block object.
Changelog
| Since 6.2.0 | Introduced. |
_wp_add_block_level_presets_class() wp add block level presets class code WP 7.0
function _wp_add_block_level_presets_class( $block_content, $block ) {
if ( ! $block_content ) {
return $block_content;
}
// return early if the block doesn't have support for settings.
$block_type = WP_Block_Type_Registry::get_instance()->get_registered( $block['blockName'] );
if ( ! block_has_support( $block_type, '__experimentalSettings', false ) ) {
return $block_content;
}
// return early if no settings are found on the block attributes.
$block_settings = $block['attrs']['settings'] ?? null;
if ( empty( $block_settings ) ) {
return $block_content;
}
// Like the layout hook this assumes the hook only applies to blocks with a single wrapper.
// Add the class name to the first element, presuming it's the wrapper, if it exists.
$tags = new WP_HTML_Tag_Processor( $block_content );
if ( $tags->next_tag() ) {
$tags->add_class( _wp_get_presets_class_name( $block ) );
}
return $tags->get_updated_html();
}