PluginProbe
Elementor Website Builder – more than just a page builder / 3.29.0-beta4
Elementor Website Builder – more than just a page builder v3.29.0-beta4
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 All 457 releases
← All changes | modules/atomic-widgets/props-resolver/transformers/styles/background-overlay-transformer.php +4 -12 4.3.4 → 3.29.0-beta4 View file →
@@ -13,23 +13,19 @@
13 13 class Background_Overlay_Transformer extends Transformer_Base {
14 14 public function transform( $value, Props_Resolver_Context $context ) {
15 15 $normalized_values = $this->normalize_overlay_values( $value );
16 16
17 - if ( empty( $normalized_values ) ) {
18 - return null;
19 - }
20 -
21 - return [
17 + return array_filter( [
22 18 'background-image' => $this->get_values_string( $normalized_values, 'src', Background_Image_Overlay_Transformer::DEFAULT_IMAGE, true ),
23 19 'background-repeat' => $this->get_values_string( $normalized_values, 'repeat', Background_Image_Overlay_Transformer::DEFAULT_REPEAT ),
24 20 'background-attachment' => $this->get_values_string( $normalized_values, 'attachment', Background_Image_Overlay_Transformer::DEFAULT_ATTACHMENT ),
25 21 'background-size' => $this->get_values_string( $normalized_values, 'size', Background_Image_Overlay_Transformer::DEFAULT_SIZE ),
26 22 'background-position' => $this->get_values_string( $normalized_values, 'position', Background_Image_Overlay_Transformer::DEFAULT_POSITION ),
27 - ];
23 + ] );
28 24 }
29 25
30 26 private function normalize_overlay_values( $overlays ): array {
31 - $mapped_values = array_map( function( $value ) {
27 + return array_map( function( $value ) {
32 28 if ( is_string( $value ) ) {
33 29 return [
34 30 'src' => $value,
35 31 'repeat' => null,
@@ -40,12 +36,8 @@
40 36 }
41 37
42 38 return $value;
43 39 }, $overlays );
44 -
45 - return array_filter( $mapped_values, function( $value ) {
46 - return is_array( $value ) && ! empty( $value['src'] );
47 - } );
48 40 }
49 41
50 42 private function get_values_string( $value, string $prop, string $default_value, bool $prevent_unification = false ) {
51 43 $is_empty = empty( array_filter( $value, function ( array $item ) use ( $prop ) {
@@ -52,9 +44,9 @@
52 44 return isset( $item[ $prop ] ) && ! is_null( $item[ $prop ] );
53 45 } ) );
54 46
55 47 if ( $is_empty ) {
56 - return $default_value;
48 + return null;
57 49 }
58 50
59 51 $formatted_values = array_map( function ( $item ) use ( $prop, $default_value ) {
60 52 if ( is_string( $item ) ) {