wp_render_elements_class_name()
Ensure the elements block support class name generated, and added to block attributes, in the render_block_data gets applied to the block's markup.
Хуков нет.
Возвращает
string. Filtered block content.
Использование
wp_render_elements_class_name( $block_content, $block );
- $block_content(строка) (обязательный)
- Rendered block content.
- $block(массив) (обязательный)
- Block object.
Заметки
| Смотрите: wp_render_elements_support_styles |
Список изменений
| С версии 6.6.0 | Введена. |
Код wp_render_elements_class_name() wp render elements class name WP 7.1.3
function wp_render_elements_class_name( $block_content, $block ) {
$class_name_attr = $block['attrs']['className'] ?? null;
$class_name_prefix = 'wp-elements-';
if ( ! is_string( $class_name_attr ) || ! str_contains( $class_name_attr, $class_name_prefix ) ) {
return $block_content;
}
// Parse out the 'wp-elements-*' class name.
$matched_class_name = null;
$token_delimiter = " \t\f\r\n";
$class_token = strtok( $class_name_attr, $token_delimiter );
while ( false !== $class_token ) {
if ( str_starts_with( $class_token, $class_name_prefix ) ) {
$matched_class_name = $class_token;
break;
}
$class_token = strtok( $token_delimiter );
}
if ( null === $matched_class_name ) {
return $block_content;
}
$tags = new WP_HTML_Tag_Processor( $block_content );
if ( $tags->next_tag() ) {
$tags->add_class( $matched_class_name );
}
return $tags->get_updated_html();
}