Automattic\WooCommerce\EmailEditor\Engine

Site_Style_Sync_Controller::convert_spacing_valuesprivateWC 1.0

Convert spacing values to px format.

Method of the class: Site_Style_Sync_Controller{}

No Hooks.

Returns

String|Array. Spacing values in px format.

Usage

// private - for code of main (parent) class only
$result = $this->convert_spacing_values( $spacing_values, $base_path );
$spacing_values(string|array) (required)
Original spacing values.
$base_path(array) (required)
Base path for fallback lookup (e.g., ['styles', 'spacing', 'padding']).

Site_Style_Sync_Controller::convert_spacing_values() code WC 10.7.0

private function convert_spacing_values( $spacing_values, array $base_path ) {
	if ( ! is_string( $spacing_values ) && ! is_array( $spacing_values ) ) {
		return $spacing_values;
	}

	if ( is_string( $spacing_values ) ) {
		$fallback = $this->get_base_theme_value( $base_path );
		return $this->convert_to_px_size( $spacing_values, $fallback );
	}

	$px_values = array();

	foreach ( $spacing_values as $side => $value ) {
		if ( is_string( $value ) ) {
			// Build path for side-specific fallback (e.g., ['styles', 'spacing', 'padding', 'top']).
			$side_path          = array_merge( $base_path, array( $side ) );
			$fallback           = $this->get_base_theme_value( $side_path );
			$px_values[ $side ] = $this->convert_to_px_size( $value, $fallback );
		} else {
			$px_values[ $side ] = $value;
		}
	}

	return $px_values;
}