get_property_values( $attrs, 'background_layout' ); $background_layout = et_()->array_get( $background_layouts, 'desktop', '' ); $background_layout_tablet = et_()->array_get( $background_layouts, 'tablet', '' ); $background_layout_phone = et_()->array_get( $background_layouts, 'phone', '' ); $background_layout_hover = et_pb_hover_options()->get_value( 'background_layout', $attrs, 'light' ); // Background layout class names. $background_layout_class_names = ! $is_skip_desktop ? array( "et_pb_bg_layout_{$background_layout}" ) : array(); if ( ! empty( $background_layout_tablet ) ) { $background_layout_class_names[] = "et_pb_bg_layout_{$background_layout_tablet}_tablet"; } if ( ! empty( $background_layout_phone ) ) { $background_layout_class_names[] = "et_pb_bg_layout_{$background_layout_phone}_phone"; } // Text color class names. if ( $is_text_color ) { if ( 'light' === $background_layout ) { $background_layout_class_names[] = 'et_pb_text_color_dark'; } if ( 'light' === $background_layout_tablet ) { $background_layout_class_names[] = 'et_pb_text_color_dark_tablet'; } if ( 'light' === $background_layout_phone ) { $background_layout_class_names[] = 'et_pb_text_color_dark_phone'; } } return $background_layout_class_names; } /** * Get background layout data attributes. * * @since 4.0.7 * * @param array $attrs * * @return string */ public function get_background_layout_attrs( $attrs ) { // Background layout data attributes is only needed by hover or sticky effect. if ( ! et_pb_hover_options()->is_enabled( 'background_layout', $attrs ) && ! et_pb_sticky_options()->is_enabled( 'background_layout', $attrs ) ) { return ''; } // Background layout values. $background_layouts = et_pb_responsive_options()->get_property_values( $attrs, 'background_layout' ); $background_layout = et_()->array_get( $background_layouts, 'desktop', '' ); $background_layout_tablet = et_()->array_get( $background_layouts, 'tablet', '' ); $background_layout_phone = et_()->array_get( $background_layouts, 'phone', '' ); $background_layout_hover = et_pb_hover_options()->get_value( 'background_layout', $attrs, '' ); $background_layout_sticky = et_pb_sticky_options()->get_value( 'background_layout', $attrs, '' ); $data_background_layout = sprintf( ' data-background-layout="%1$s"', esc_attr( $background_layout ) ); if ( ! empty( $background_layout_hover ) ) { $data_background_layout .= sprintf( ' data-background-layout-hover="%1$s"', esc_attr( $background_layout_hover ) ); } if ( ! empty( $background_layout_sticky ) ) { $data_background_layout .= sprintf( ' data-background-layout-sticky="%1$s"', esc_attr( $background_layout_sticky ) ); } if ( ! empty( $background_layout_tablet ) ) { $data_background_layout .= sprintf( ' data-background-layout-tablet="%1$s"', esc_attr( $background_layout_tablet ) ); } if ( ! empty( $background_layout_phone ) ) { $data_background_layout .= sprintf( ' data-background-layout-phone="%1$s"', esc_attr( $background_layout_phone ) ); } return $data_background_layout; } }