_remove_theme_attribute_in_block_template_content()
Устарела с версии 6.4.0. Больше не поддерживается и может быть удалена. Используйте
traverse_and_serialize_blocks( parse_blocks( $template_content ), '_remove_theme_attribute_from_template_part_block' ).Parses a block template and removes the theme attribute from each template part.
Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуков нет.
Возвращает
Строку. Updated block template content.
Использование
_remove_theme_attribute_in_block_template_content( $template_content );
- $template_content(строка) (обязательный)
- Serialized block template content.
Список изменений
| С версии 5.9.0 | Введена. |
| Устарела с 6.4.0 | Use traverse_and_serialize_blocks( parse_blocks( $template_content ), '_remove_theme_attribute_from_template_part_block' ) instead. |
Код _remove_theme_attribute_in_block_template_content() remove theme attribute in block template content WP 6.8.3
function _remove_theme_attribute_in_block_template_content( $template_content ) {
_deprecated_function(
__FUNCTION__,
'6.4.0',
'traverse_and_serialize_blocks( parse_blocks( $template_content ), "_remove_theme_attribute_from_template_part_block" )'
);
$has_updated_content = false;
$new_content = '';
$template_blocks = parse_blocks( $template_content );
$blocks = _flatten_blocks( $template_blocks );
foreach ( $blocks as $key => $block ) {
if ( 'core/template-part' === $block['blockName'] && isset( $block['attrs']['theme'] ) ) {
unset( $blocks[ $key ]['attrs']['theme'] );
$has_updated_content = true;
}
}
if ( ! $has_updated_content ) {
return $template_content;
}
foreach ( $template_blocks as $block ) {
$new_content .= serialize_block( $block );
}
return $new_content;
}