diff --git a/wp-includes/block-template-utils.php b/wp-includes/block-template-utils.php index c5953e1d4c..94934599a8 100644 --- a/wp-includes/block-template-utils.php +++ b/wp-includes/block-template-utils.php @@ -549,15 +549,18 @@ function _build_block_template_result_from_file( $template_file, $template_type $template->area = $template_file['area']; } - $before_block_visitor = '_inject_theme_attribute_in_template_part_block'; + $before_block_visitor = ( defined( 'REST_REQUEST' ) && REST_REQUEST ) ? '_inject_theme_attribute_in_template_part_block' : null; $after_block_visitor = null; $hooked_blocks = get_hooked_blocks(); if ( ! empty( $hooked_blocks ) || has_filter( 'hooked_block_types' ) ) { $before_block_visitor = make_before_block_visitor( $hooked_blocks, $template ); $after_block_visitor = make_after_block_visitor( $hooked_blocks, $template ); } - $blocks = parse_blocks( $template_content ); - $template->content = traverse_and_serialize_blocks( $blocks, $before_block_visitor, $after_block_visitor ); + if ( null !== $before_block_visitor || null !== $after_block_visitor ) { + $blocks = parse_blocks( $template_content ); + $template_content = traverse_and_serialize_blocks( $blocks, $before_block_visitor, $after_block_visitor ); + } + $template->content = $template_content; return $template; } diff --git a/wp-includes/blocks.php b/wp-includes/blocks.php index ecb4fa5b3d..3a2e943ad5 100644 --- a/wp-includes/blocks.php +++ b/wp-includes/blocks.php @@ -779,7 +779,9 @@ function make_before_block_visitor( $hooked_blocks, $context ) { * @return string The serialized markup for the given block, with the markup for any hooked blocks prepended to it. */ return function ( &$block, $parent_block = null, $prev = null ) use ( $hooked_blocks, $context ) { - _inject_theme_attribute_in_template_part_block( $block ); + if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) { + _inject_theme_attribute_in_template_part_block( $block ); + } $markup = ''; diff --git a/wp-includes/class-wp-block-patterns-registry.php b/wp-includes/class-wp-block-patterns-registry.php index a11bac06be..1c528abb3f 100644 --- a/wp-includes/class-wp-block-patterns-registry.php +++ b/wp-includes/class-wp-block-patterns-registry.php @@ -165,14 +165,16 @@ final class WP_Block_Patterns_Registry { private function prepare_content( $pattern, $hooked_blocks ) { $content = $pattern['content']; - $before_block_visitor = '_inject_theme_attribute_in_template_part_block'; + $before_block_visitor = ( defined( 'REST_REQUEST' ) && REST_REQUEST ) ? '_inject_theme_attribute_in_template_part_block' : null; $after_block_visitor = null; if ( ! empty( $hooked_blocks ) || has_filter( 'hooked_block_types' ) ) { $before_block_visitor = make_before_block_visitor( $hooked_blocks, $pattern ); $after_block_visitor = make_after_block_visitor( $hooked_blocks, $pattern ); } - $blocks = parse_blocks( $content ); - $content = traverse_and_serialize_blocks( $blocks, $before_block_visitor, $after_block_visitor ); + if ( null !== $before_block_visitor || null !== $after_block_visitor ) { + $blocks = parse_blocks( $content ); + $content = traverse_and_serialize_blocks( $blocks, $before_block_visitor, $after_block_visitor ); + } return $content; } diff --git a/wp-includes/version.php b/wp-includes/version.php index 52d81d0510..cc43927789 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.4-beta3-56849'; +$wp_version = '6.4-beta3-56896'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.