Automattic\WooCommerce\Blocks\Templates

AbstractTemplateCompatibility::initpublicWC 1.0

Initialization method.

Method of the class: AbstractTemplateCompatibility{}

Returns

null. Nothing (null).

Usage

$AbstractTemplateCompatibility = new AbstractTemplateCompatibility();
$AbstractTemplateCompatibility->init();

AbstractTemplateCompatibility::init() code WC 11.0.1

public function init() {
	$this->set_hook_data();

	add_filter(
		'template_include',
		function ( $template ) {
			$this->set_compatibility_layer_flag();

			add_filter(
				'render_block_data',
				function ( $parsed_block, $source_block, $parent_block ) {
					/**
					* Filter to disable the compatibility layer for the blockified templates.
					*
					* This hook allows to disable the compatibility layer for the blockified templates.
					*
					* @since 7.6.0
					* @param bool $is_disabled_compatibility_layer Whether the compatibility layer should be disabled.
					*/
					$is_disabled_compatibility_layer = apply_filters( 'woocommerce_disable_compatibility_layer', false );

					if ( $is_disabled_compatibility_layer ) {
						return $parsed_block;
					}

					return $this->update_render_block_data( $parsed_block, $source_block, $parent_block );
				},
				10,
				3
			);

			add_filter(
				'render_block',
				function ( $block_content, $block ) {
					/**
					* Filter to disable the compatibility layer for the blockified templates.
					*
					* This hook allows to disable the compatibility layer for the blockified.
					*
					* @since 7.6.0
					* @param bool $is_disabled_compatibility_layer Whether the compatibility layer should be disabled.
					*/
					$is_disabled_compatibility_layer = apply_filters( 'woocommerce_disable_compatibility_layer', false );

					if ( $is_disabled_compatibility_layer ) {
						return $block_content;
					}

					return $this->inject_hooks( $block_content, $block );
				},
				10,
				2
			);

			return $template;
		},
		10,
		1
	);
}