Templates: Deprecate _inject_theme_attribute_in_block_template_content.

It can be replaced by passing `_inject_theme_attribute_in_template_part_block` as second argument to `traverse_and_serialize_blocks()`.

Per WordPress 6.4 Beta 1, there aren't going to be any more calls in Core to `_inject_theme_attribute_in_block_template_content()`.

Note that `_inject_theme_attribute_in_block_template_content` has always had `@access private` set in its PHPDoc.

Props gziolo.
Fixes #59452.

git-svn-id: https://develop.svn.wordpress.org/trunk@56719 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Bernie Reiter 2023-09-26 16:17:18 +00:00
parent 2e863375a1
commit 5e09e5e18e
2 changed files with 14 additions and 0 deletions

View File

@ -475,12 +475,19 @@ function _flatten_blocks( &$blocks ) {
* stylesheet as a theme attribute into each wp_template_part
*
* @since 5.9.0
* @deprecated 6.4.0 Use traverse_and_serialize_blocks( parse_blocks( $template_content ), '_inject_theme_attribute_in_template_part_block' ) instead.
* @access private
*
* @param string $template_content serialized wp_template content.
* @return string Updated 'wp_template' content.
*/
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 );

View File

@ -311,6 +311,13 @@ class Tests_Block_Template_Utils extends WP_UnitTestCase {
);
}
/**
* @ticket 59452
*
* @covers ::_inject_theme_attribute_in_block_template_content
*
* @expectedDeprecated _inject_theme_attribute_in_block_template_content
*/
public function test_inject_theme_attribute_in_block_template_content() {
$theme = get_stylesheet();
$content_without_theme_attribute = '<!-- wp:template-part {"slug":"header","align":"full", "tagName":"header","className":"site-header"} /-->';