Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors

Typography_Preprocessor::preprocess_parentprivateWC 1.0

Preprocess parent block

Метод класса: Typography_Preprocessor{}

Хуков нет.

Возвращает

Массив.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->preprocess_parent( $block ): array;
$block(массив) (обязательный)
Block to preprocess.

Код Typography_Preprocessor::preprocess_parent() WC 10.4.3

private function preprocess_parent( array $block ): array {
	// Build styles that should be copied to children.
	$email_attrs = array();
	if ( isset( $block['attrs']['style']['color']['text'] ) ) {
		$email_attrs['color'] = $block['attrs']['style']['color']['text'];
	}
	if ( isset( $block['attrs']['textColor'] ) && is_string( $block['attrs']['textColor'] ) && ! isset( $email_attrs['color'] ) ) {
		$email_attrs['color'] = $this->settings_controller->translate_slug_to_color( $block['attrs']['textColor'] );
	}
	// In case the fontSize is set via a slug (small, medium, large, etc.) we translate it to a number
	// The font size slug is set in $block['attrs']['fontSize'] and value in $block['attrs']['style']['typography']['fontSize'].
	if ( isset( $block['attrs']['fontSize'] ) && is_string( $block['attrs']['fontSize'] ) ) {
		$block['attrs']['style']['typography']['fontSize'] = $this->settings_controller->translate_slug_to_font_size( $block['attrs']['fontSize'] );
	}
	// Pass font size to email_attrs.
	if ( isset( $block['attrs']['style']['typography']['fontSize'] ) ) {
		$email_attrs['font-size'] = $block['attrs']['style']['typography']['fontSize'];
	}
	if ( isset( $block['attrs']['style']['typography']['textDecoration'] ) ) {
		$email_attrs['text-decoration'] = $block['attrs']['style']['typography']['textDecoration'];
	}
	$block['email_attrs'] = array_merge( $email_attrs, $block['email_attrs'] ?? array() );
	return $block;
}