wpseek.com
A WordPress-centric search engine for devs and theme authors



_inject_theme_attribute_in_block_template_content › WordPress Function

Since5.9.0
Deprecatedn/a
_inject_theme_attribute_in_block_template_content ( $template_content )
Access:
  • private
Parameters:
  • (string) $template_content serialized wp_template content.
    Required: Yes
Returns:
  • (string) Updated wp_template content.
Defined at:
Codex:

Parses wp_template content and injects the current theme's stylesheet as a theme attribute into each wp_template_part



Source

function _inject_theme_attribute_in_block_template_content( $template_content ) {
	$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'] = wp_get_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;
}