: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
// Add padding hover styles
if ( $padding_hover_enabled
&& null != self::$_->array_get( $padding_values, "{$position}-hover" )
&& '' != self::$_->array_get( $padding_values, "{$position}-hover" )
$hover_value = $padding_values["{$position}-hover"];
'selector' => '%%order_class%%:hover',
'declaration' => sprintf(
esc_html( et_builder_process_range_value( $hover_value ) )
ET_Builder_Element::set_style( $function_name, $element_style );
if ( $padding_responsive_active && ( ! empty( $padding_mobile_values['tablet'] ) || ! empty( $padding_values['phone'] ) ) ) {
$padding_mobile_values_processed = array();
foreach( array( 'tablet', 'phone' ) as $device ) {
if ( empty( $padding_mobile_values[$device] ) ) {
$padding_mobile_values_processed[ $device ] = array(
'padding-top' => isset( $padding_mobile_values[$device][0] ) ? $padding_mobile_values[$device][0] : '',
'padding-right' => isset( $padding_mobile_values[$device][1] ) ? $padding_mobile_values[$device][1] : '',
'padding-bottom' => isset( $padding_mobile_values[$device][2] ) ? $padding_mobile_values[$device][2] : '',
'padding-left' => isset( $padding_mobile_values[$device][3] ) ? $padding_mobile_values[$device][3] : '',
if ( ! empty( $padding_mobile_values_processed ) ) {
$padding_mobile_selector = 'et_pb_column_inner' !== $function_name ? '.et_pb_row > .et_pb_column%%order_class%%' : '.et_pb_row_inner > .et_pb_column%%order_class%%';
et_pb_generate_responsive_css( $padding_mobile_values_processed, $padding_mobile_selector, '', $function_name );
if ( '' !== $custom_css_before ) {
ET_Builder_Element::set_style( $function_name, array(
'selector' => '%%order_class%%:before',
'declaration' => trim( $custom_css_before ),
if ( '' !== $custom_css_main ) {
ET_Builder_Element::set_style( $function_name, array(
'selector' => '%%order_class%%',
'declaration' => trim( $custom_css_main ),
if ( '' !== $custom_css_after ) {
ET_Builder_Element::set_style( $function_name, array(
'selector' => '%%order_class%%:after',
'declaration' => trim( $custom_css_after ),
if ( '' !== $custom_css_before_hover ) {
ET_Builder_Element::set_style( $function_name, array(
'selector' => '%%order_class%%:hover:before',
'declaration' => trim( $custom_css_before_hover ),
if ( '' !== $custom_css_main_hover ) {
ET_Builder_Element::set_style( $function_name, array(
'selector' => '%%order_class%%:hover',
'declaration' => trim( $custom_css_main_hover ),
if ( '' !== $custom_css_after_hover ) {
ET_Builder_Element::set_style( $function_name, array(
'selector' => '%%order_class%%:hover:after',
'declaration' => trim( $custom_css_after_hover ),
if ( 'et_pb_column_inner' === $function_name ) {
$et_specialty_column_type = '' !== $saved_specialty_column_type ? $saved_specialty_column_type : $et_specialty_column_type;
switch ( $et_specialty_column_type ) {
} else if ( '1_3' === $type ) {
// Column background video.
if ( $is_specialty_column ) {
$video_background = trim( $this->video_background( $background_video ) );
if ( '' !== $background_img && '' !== $parallax_method ) {
$parallax_image = sprintf(
'<div class="et_parallax_bg_wrap">
<div class="et_parallax_bg%2$s" style="background-image: url(%1$s);"></div>
esc_attr( $background_img ),
( 'off' === $parallax_method ? ' et_pb_parallax_css' : '' )
if ( '' !== $parallax_method ) {
$this->add_classname( 'et_pb_section_parallax' );
$video_background = trim( $this->video_background() );
$parallax_image = $this->get_parallax_image_background();
// Remove automatically added classname
$this->remove_classname( 'et_pb_module' );
$this->add_classname( 'et_pb_column_' . $type, 1 );
if ( '' !== $custom_css_class ) {
$this->add_classname( $custom_css_class );
if ( $is_specialty_column && '' !== $specialty_columns ) {
$this->add_classname( 'et_pb_specialty_column' );
$this->add_classname( $this->generate_css_filters( $function_name ) );
if ( '' !== $video_background ) {
$this->add_classname( array(
$this->add_classname( 'et-last-child' );
if ( self::contains( $content, array( 'et_pb_menu', 'et_pb_fullwidth_menu' ) ) ) {
$this->add_classname( 'et_pb_column--with-menu' );
// Module classname in column has to be contained in variable BEFORE content is being parsed
// as shortcode because column and column inner use the same ET_Builder_Column's render
// classname doesn't work in nested situation because each called module doesn't have its own class init
$module_classname = $this->module_classname( $function_name );
// Inner content shortcode parsing has to be done after all classname addition/removal
$inner_content = do_shortcode( et_pb_fix_shortcodes( $content ) );
// Inner content dependant class in column shouldn't use add_classname/remove_classname method
$content_dependent_classname = '' === trim( $inner_content ) ? ' et_pb_column_empty' : '';
'<div class="%1$s%6$s"%4$s>
</div> <!-- .et_pb_column -->',
'' !== $custom_css_id ? sprintf( ' id="%1$s"', esc_attr( $custom_css_id ) ) : '', // 5
$content_dependent_classname
* Fires after the builder's structure element classes are loaded.
do_action( 'et_builder_structure_elements_loaded' );