: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
$wp_customize->add_section( 'et_divi_header_information' , array(
'title' => esc_html__( 'Header Elements', 'Divi' ),
'panel' => 'et_divi_header_panel',
$wp_customize->add_panel( 'et_divi_footer_panel' , array(
'title' => esc_html__( 'Footer', 'Divi' ),
$wp_customize->add_section( 'et_divi_footer_layout' , array(
'title' => esc_html__( 'Layout', 'Divi' ),
'panel' => 'et_divi_footer_panel',
$wp_customize->add_section( 'et_divi_footer_widgets' , array(
'title' => esc_html__( 'Widgets', 'Divi' ),
'panel' => 'et_divi_footer_panel',
$wp_customize->add_section( 'et_divi_footer_elements' , array(
'title' => esc_html__( 'Footer Elements', 'Divi' ),
'panel' => 'et_divi_footer_panel',
$wp_customize->add_section( 'et_divi_footer_menu' , array(
'title' => esc_html__( 'Footer Menu', 'Divi' ),
'panel' => 'et_divi_footer_panel',
$wp_customize->add_section( 'et_divi_bottom_bar' , array(
'title' => esc_html__( 'Bottom Bar', 'Divi' ),
'panel' => 'et_divi_footer_panel',
$wp_customize->add_section( 'et_color_schemes' , array(
'title' => esc_html__( 'Color Schemes', 'Divi' ),
'description' => esc_html__( 'Note: Color settings set above should be applied to the Default color scheme.', 'Divi' ),
$wp_customize->add_panel( 'et_divi_buttons_settings' , array(
'title' => esc_html__( 'Buttons', 'Divi' ),
$wp_customize->add_section( 'et_divi_buttons' , array(
'title' => esc_html__( 'Buttons Style', 'Divi' ),
'panel' => 'et_divi_buttons_settings',
$wp_customize->add_section( 'et_divi_buttons_hover' , array(
'title' => esc_html__( 'Buttons Hover Style', 'Divi' ),
'panel' => 'et_divi_buttons_settings',
$wp_customize->add_panel( 'et_divi_blog_settings' , array(
'title' => esc_html__( 'Blog', 'Divi' ),
$wp_customize->add_section( 'et_divi_blog_post' , array(
'title' => esc_html__( 'Post', 'Divi' ),
'panel' => 'et_divi_blog_settings',
$wp_customize->add_setting( 'et_divi[post_meta_font_size]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[post_meta_font_size]', array(
'label' => esc_html__( 'Meta Text Size', 'Divi' ),
'section' => 'et_divi_blog_post',
$wp_customize->add_setting( 'et_divi[post_meta_height]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'et_sanitize_float_number',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[post_meta_height]', array(
'label' => esc_html__( 'Meta Line Height', 'Divi' ),
'section' => 'et_divi_blog_post',
$wp_customize->add_setting( 'et_divi[post_meta_spacing]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[post_meta_spacing]', array(
'label' => esc_html__( 'Meta Letter Spacing', 'Divi' ),
'section' => 'et_divi_blog_post',
$wp_customize->add_setting( 'et_divi[post_meta_style]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'et_sanitize_font_style',
$wp_customize->add_control( new ET_Divi_Font_Style_Option ( $wp_customize, 'et_divi[post_meta_style]', array(
'label' => esc_html__( 'Meta Font Style', 'Divi' ),
'section' => 'et_divi_blog_post',
'choices' => et_divi_font_style_choices(),
$wp_customize->add_setting( 'et_divi[post_header_font_size]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[post_header_font_size]', array(
'label' => esc_html__( 'Header Text Size', 'Divi' ),
'section' => 'et_divi_blog_post',
$wp_customize->add_setting( 'et_divi[post_header_height]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'et_sanitize_float_number',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[post_header_height]', array(
'label' => esc_html__( 'Header Line Height', 'Divi' ),
'section' => 'et_divi_blog_post',
$wp_customize->add_setting( 'et_divi[post_header_spacing]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'et_sanitize_int_number',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[post_header_spacing]', array(
'label' => esc_html__( 'Header Letter Spacing', 'Divi' ),
'section' => 'et_divi_blog_post',
$wp_customize->add_setting( 'et_divi[post_header_style]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'et_sanitize_font_style',
$wp_customize->add_control( new ET_Divi_Font_Style_Option ( $wp_customize, 'et_divi[post_header_style]', array(
'label' => esc_html__( 'Header Font Style', 'Divi' ),
'section' => 'et_divi_blog_post',
'choices' => et_divi_font_style_choices(),
$wp_customize->add_setting( 'et_divi[boxed_layout]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'wp_validate_boolean',
$wp_customize->add_control( 'et_divi[boxed_layout]', array(
'label' => esc_html__( 'Enable Boxed Layout', 'Divi' ),
'section' => 'et_divi_general_layout',
$wp_customize->add_setting( 'et_divi[content_width]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[content_width]', array(
'label' => esc_html__( 'Website Content Width', 'Divi' ),
'section' => 'et_divi_general_layout',
$wp_customize->add_setting( 'et_divi[gutter_width]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[gutter_width]', array(
'label' => esc_html__( 'Website Gutter Width', 'Divi' ),
'section' => 'et_divi_general_layout',
$wp_customize->add_setting( 'et_divi[use_sidebar_width]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'wp_validate_boolean',
$wp_customize->add_control( 'et_divi[use_sidebar_width]', array(
'label' => esc_html__( 'Use Custom Sidebar Width', 'Divi' ),
'section' => 'et_divi_general_layout',
$wp_customize->add_setting( 'et_divi[sidebar_width]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[sidebar_width]', array(
'label' => esc_html__( 'Sidebar Width', 'Divi' ),
'section' => 'et_divi_general_layout',
$wp_customize->add_setting( 'et_divi[section_padding]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[section_padding]', array(
'label' => esc_html__( 'Section Height', 'Divi' ),
'section' => 'et_divi_general_layout',
$wp_customize->add_setting( 'et_divi[phone_section_height]', array(
'default' => et_get_option( 'tablet_section_height', '50' ),
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[phone_section_height]', array(
'label' => esc_html__( 'Section Height', 'Divi' ),
'section' => 'et_divi_mobile_phone',
$wp_customize->add_setting( 'et_divi[tablet_section_height]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[tablet_section_height]', array(
'label' => esc_html__( 'Section Height', 'Divi' ),
'section' => 'et_divi_mobile_tablet',
$wp_customize->add_setting( 'et_divi[row_padding]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[row_padding]', array(
'label' => esc_html__( 'Row Height', 'Divi' ),
'section' => 'et_divi_general_layout',
$wp_customize->add_setting( 'et_divi[phone_row_height]', array(
'default' => et_get_option( 'tablet_row_height', '30' ),
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[phone_row_height]', array(
'label' => esc_html__( 'Row Height', 'Divi' ),
'section' => 'et_divi_mobile_phone',
$wp_customize->add_setting( 'et_divi[tablet_row_height]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',
$wp_customize->add_control( new ET_Divi_Range_Option ( $wp_customize, 'et_divi[tablet_row_height]', array(
'label' => esc_html__( 'Row Height', 'Divi' ),
'section' => 'et_divi_mobile_tablet',
$wp_customize->add_setting( 'et_divi[cover_background]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'wp_validate_boolean',
$wp_customize->add_control( 'et_divi[cover_background]', array(
'label' => esc_html__( 'Stretch Background Image', 'Divi' ),
'section' => 'et_divi_general_background',
if ( ! is_null( $wp_customize->get_setting( 'background_color' ) ) ) {
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'background_color', array(
'label' => esc_html__( 'Background Color', 'Divi' ),
'section' => 'et_divi_general_background',
if ( ! is_null( $wp_customize->get_setting( 'background_image' ) ) ) {
$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'background_image', array(
'label' => esc_html__( 'Background Image', 'Divi' ),
'section' => 'et_divi_general_background',
// Remove default background_repeat setting and control since native
// background_repeat field has different different settings
$wp_customize->remove_setting( 'background_repeat' );
$wp_customize->remove_control( 'background_repeat' );
// Re-defined Divi specific background repeat option
$wp_customize->add_setting( 'background_repeat', array(
'default' => apply_filters( 'et_divi_background_repeat_default', 'repeat' ),
'sanitize_callback' => 'et_sanitize_background_repeat',
'theme_supports' => 'custom-background',
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
$wp_customize->add_control( 'background_repeat', array(
'label' => esc_html__( 'Background Repeat', 'Divi' ),
'section' => 'et_divi_general_background',
'choices' => et_divi_background_repeat_choices(),
$wp_customize->add_control( 'background_position_x', array(
'label' => esc_html__( 'Background Position', 'Divi' ),
'section' => 'et_divi_general_background',
'left' => esc_html__( 'Left', 'Divi' ),
'center' => esc_html__( 'Center', 'Divi' ),
'right' => esc_html__( 'Right', 'Divi' ),
// Remove default background_attachment setting and control since native
// background_attachment field has different different settings
$wp_customize->remove_setting( 'background_attachment' );
$wp_customize->remove_control( 'background_attachment' );
$wp_customize->add_setting( 'background_attachment', array(
'default' => apply_filters( 'et_sanitize_background_attachment_default', 'scroll' ),
'sanitize_callback' => 'et_sanitize_background_attachment',
'theme_supports' => 'custom-background',
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
$wp_customize->add_control( 'background_attachment', array(
'label' => esc_html__( 'Background Position', 'Divi' ),
'section' => 'et_divi_general_background',
'choices' => et_divi_background_attachment_choices(),
$wp_customize->add_setting( 'et_divi[body_font_size]', array(
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'absint',