Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer

Content_Renderer::resetprivateWC 1.0

As we use default WordPress filters, we need to remove them after email rendering so that we don't interfere with possible post rendering that might happen later.

Method of the class: Content_Renderer{}

No Hooks.

Returns

null. Nothing (null).

Usage

// private - for code of main (parent) class only
$result = $this->reset(): void;

Content_Renderer::reset() code WC 10.7.0

private function reset(): void {
	remove_filter( 'render_block', array( $this, 'render_block' ) );
	remove_filter( 'block_parser_class', array( $this, 'block_parser' ) );
	remove_filter( 'woocommerce_email_blocks_renderer_parsed_blocks', array( $this, 'preprocess_parsed_blocks' ) );

	$this->post_content_width = null;
	$this->container_padding  = array();

	// Restore the original core/post-content render callback.
	// Note: We always restore it, even if it was null originally.
	$post_content_type = $this->block_type_registry->get_registered( 'core/post-content' );
	if ( $post_content_type ) {
		// @phpstan-ignore-next-line -- WordPress core allows null for render_callback despite type definition.
		$post_content_type->render_callback = $this->backup_post_content_callback;
	}

	// Restore globals to their original values.
	global $_wp_current_template_content, $_wp_current_template_id, $wp_query, $post;

	$_wp_current_template_content = $this->backup_template_content;
	$_wp_current_template_id      = $this->backup_template_id;
	$wp_query                     = $this->backup_query;  // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Restoring of the query.
	$post                         = $this->backup_post;  // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Restoring of the post.
}