Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer
Content_Renderer::find_container_padding
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() 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();
}