Warning: This function has been deprecated. Use traverse_and_serialize_blocks( parse_blocks( $template_content ), ‘_inject_theme_attribute_in_template_part_block’ ) instead.
Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
_inject_theme_attribute_in_block_template_content( string $template_content ): string
Parses wp_template content and injects the active theme’s stylesheet as a theme attribute into each wp_template_part
Parameters
-
$template_content
string Required -
serialized wp_template content.
Return
string Updated 'wp_template'
content.
Source
File: wp-includes/deprecated.php
.
View all references
function _inject_theme_attribute_in_block_template_content( $template_content ) {
_deprecated_function(
__FUNCTION__,
'6.4.0',
'traverse_and_serialize_blocks( parse_blocks( $template_content ), "_inject_theme_attribute_in_template_part_block" )'
);
$has_updated_content = false;
$new_content = '';
$template_blocks = parse_blocks( $template_content );
$blocks = _flatten_blocks( $template_blocks );
foreach ( $blocks as &$block ) {
if (
'core/template-part' === $block['blockName'] &&
! isset( $block['attrs']['theme'] )
) {
$block['attrs']['theme'] = get_stylesheet();
$has_updated_content = true;
}
}
if ( $has_updated_content ) {
foreach ( $template_blocks as &$block ) {
$new_content .= serialize_block( $block );
}
return $new_content;
}
return $template_content;
}
Changelog
Version | Description |
---|---|
6.4.0 | Use traverse_and_serialize_blocks( parse_blocks( $template_content ), '_inject_theme_attribute_in_template_part_block' ) instead. |
5.9.0 | Introduced. |