Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer

Content_Renderer::find_container_paddingprivateWC 1.0

Find the container padding from blocks with suppress-horizontal-padding flag.

Searches the preprocessed template blocks for a container that wraps post-content and had its horizontal padding distributed per-block.

Method of the class: Content_Renderer{}

No Hooks.

Returns

Array{left?:. string, right?: string} Container padding values, or empty array.

Usage

// private - for code of main (parent) class only
$result = $this->find_container_padding( $blocks ): array;
$blocks(array) (required)
Preprocessed blocks.

Content_Renderer::find_container_padding() code WC 10.7.0

private function find_container_padding( array $blocks ): array {
	$variables_map = $this->theme_controller->get_variables_values_map();

	foreach ( $blocks as $block ) {
		$email_attrs = $block['email_attrs'] ?? array();
		if ( ! empty( $email_attrs['suppress-horizontal-padding'] ) ) {
			$padding = $block['attrs']['style']['spacing']['padding'] ?? array();
			$result  = array();
			if ( isset( $padding['left'] ) && is_string( $padding['left'] ) ) {
				$result['left'] = $this->resolve_preset_padding( $padding['left'], $variables_map );
			}
			if ( isset( $padding['right'] ) && is_string( $padding['right'] ) ) {
				$result['right'] = $this->resolve_preset_padding( $padding['right'], $variables_map );
			}
			if ( ! empty( $result ) ) {
				return $result;
			}
		}
		if ( ! empty( $block['innerBlocks'] ) ) {
			$found = $this->find_container_padding( $block['innerBlocks'] );
			if ( ! empty( $found ) ) {
				return $found;
			}
		}
	}
	return array();
}