selective_refresh ) ? 'postMessage' : 'refresh';
$wp_customize->add_section(
'hestia_big_title', array(
'title' => esc_html__( 'Big Title Section', 'hestia' ),
'panel' => 'hestia_frontpage_sections',
'priority' => 1,
)
);
if ( class_exists( 'Hestia_Customize_Control_Radio_Image' ) ) {
$wp_customize->add_setting(
'hestia_slider_tabs', array(
'sanitize_callback' => 'hestia_sanitize_alignment_options',
'transport' => $selective_refresh,
)
);
$wp_customize->add_control(
new Hestia_Customize_Control_Radio_Image(
$wp_customize, 'hestia_slider_tabs', array(
'priority' => 5,
'section' => 'hestia_big_title',
'is_tab' => true,
'choices' => array(
'slider' => array(
'label' => esc_html__( 'Big Title Section', 'hestia' ),
'icon' => 'picture-o',
'controls' => array(
'hestia_slider_alignment',
),
),
'extra' => array(
'label' => esc_html__( 'Extra', 'hestia' ),
'icon' => 'user-plus',
'controls' => array(
'hestia_parallax_layer1',
'hestia_parallax_layer2',
),
),
),
)
)
);
$wp_customize->add_setting(
'hestia_slider_alignment', array(
'default' => 'center',
'sanitize_callback' => 'hestia_sanitize_alignment_options',
'transport' => $selective_refresh,
)
);
$wp_customize->add_control(
new Hestia_Customize_Control_Radio_Image(
$wp_customize, 'hestia_slider_alignment', array(
'label' => esc_html__( 'Layout', 'hestia' ),
'priority' => 10,
'section' => 'hestia_big_title',
'is_tab' => true,
'is_subtab' => true,
'choices' => array(
'left' => array(
'url' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABqBAMAAACsf7WzAAAAD1BMVEX////V1dUAhbo+yP/u9/pRM+FMAAAAZElEQVR42u3WsQ2AIBRFUd0AV3AFV3D/mSwsBI2BRIofPKchobjVK/7EQJZSit+az5/aq/WjVs99AQAjWxs8L4ZL0hqutTcoWt0OSa2orfdVaWl9b/XcqpbWvbXltLQCtwCA3AHhDKjAJvDMEwAAAABJRU5ErkJggg==',
'controls' => array(
'hestia_big_title_background',
'hestia_big_title_title',
'hestia_big_title_text',
'hestia_big_title_button_text',
'hestia_big_title_button_link',
'hestia_big_title_widgets_title',
'widgets',
),
),
'center' => array(
'url' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABqBAMAAACsf7WzAAAAD1BMVEX///8AhbrV1dU+yP/u9/q7NurVAAAAV0lEQVR42u3SsQ2AMAxFwYBYgA0QK7AC+89EQQOiIIoogn3XWHLxql8IZL1b+m+N5+ftaiVqfbkvACC8YW6iFbg17U0KCVQNTUvr0YK+bFdaWklaAPAXB4dWiADE72glAAAAAElFTkSuQmCC',
'controls' => array(
'hestia_big_title_background',
'hestia_big_title_title',
'hestia_big_title_text',
'hestia_big_title_button_text',
'hestia_big_title_button_link',
),
),
'right' => array(
'url' => 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABqBAMAAACsf7WzAAAAD1BMVEX////V1dUAhbo+yP/u9/pRM+FMAAAAYElEQVR42u3SuQ2AMBBFQaAC3AIt0AL910RAAkICS1xrPJOstMGLfsOPpK0+fqtdPmdXq6LWnfsCAKJJe4+0hhxaVbWmHB9sVStCq7u8Ly2td7aqpXVsXNPSKrAFAOWbASNgr0b3Lh1kAAAAAElFTkSuQmCC',
'controls' => array(
'hestia_big_title_background',
'hestia_big_title_title',
'hestia_big_title_text',
'hestia_big_title_button_text',
'hestia_big_title_button_link',
'hestia_big_title_widgets_title',
'widgets',
),
),
),
)
)
);
}
/**
* Control for big title background
*/
$wp_customize->add_setting(
'hestia_big_title_background', array(
'sanitize_callback' => 'esc_url_raw',
'transport' => $selective_refresh,
)
);
$wp_customize->add_control(
new WP_Customize_Image_Control(
$wp_customize, 'hestia_big_title_background', array(
'label' => esc_html__( 'Big Title Background', 'hestia' ),
'section' => 'hestia_big_title',
'priority' => 10,
)
)
);
/**
* Control for header title
*/
$wp_customize->add_setting(
'hestia_big_title_title', array(
'sanitize_callback' => 'wp_kses_post',
'transport' => $selective_refresh,
)
);
$wp_customize->add_control(
'hestia_big_title_title', array(
'label' => esc_html__( 'Title', 'hestia' ),
'section' => 'hestia_big_title',
'priority' => 15,
)
);
/**
* Control for header text
*/
$wp_customize->add_setting(
'hestia_big_title_text', array(
'sanitize_callback' => 'wp_kses_post',
'transport' => $selective_refresh,
)
);
$wp_customize->add_control(
'hestia_big_title_text', array(
'label' => esc_html__( 'Text', 'hestia' ),
'section' => 'hestia_big_title',
'priority' => 20,
)
);
/**
* Control for button text
*/
$wp_customize->add_setting(
'hestia_big_title_button_text', array(
'sanitize_callback' => 'sanitize_text_field',
'transport' => $selective_refresh,
)
);
$wp_customize->add_control(
'hestia_big_title_button_text', array(
'label' => esc_html__( 'Button text', 'hestia' ),
'section' => 'hestia_big_title',
'priority' => 25,
)
);
/**
* Control for button link
*/
$wp_customize->add_setting(
'hestia_big_title_button_link', array(
'sanitize_callback' => 'esc_url_raw',
'transport' => $selective_refresh,
)
);
$wp_customize->add_control(
'hestia_big_title_button_link', array(
'label' => esc_html__( 'Button URL', 'hestia' ),
'section' => 'hestia_big_title',
'priority' => 30,
)
);
$wp_customize->add_setting(
'hestia_big_title_widgets_title', array(
'sanitize_callback' => 'wp_kses',
)
);
$wp_customize->add_control(
new Hestia_Customizer_Heading(
$wp_customize, 'hestia_big_title_widgets_title', array(
'label' => esc_html__( 'Big Title Section', 'hestia' ) . ' ' . esc_html__( 'Sidebar', 'hestia' ),
'section' => 'hestia_big_title',
'priority' => 35,
)
)
);
$wp_customize->add_setting(
'hestia_parallax_layer1', array(
'sanitize_callback' => 'esc_url_raw',
'default' => apply_filters( 'hestia_parallax_layer1_default', false ),
)
);
$wp_customize->add_control(
new WP_Customize_Image_Control(
$wp_customize, 'hestia_parallax_layer1', array(
'label' => esc_html__( 'First Layer', 'hestia' ),
'section' => 'hestia_big_title',
'priority' => 35,
)
)
);
$wp_customize->add_setting(
'hestia_parallax_layer2', array(
'sanitize_callback' => 'esc_url_raw',
'default' => apply_filters( 'hestia_parallax_layer2_default', false ),
)
);
$wp_customize->add_control(
new WP_Customize_Image_Control(
$wp_customize, 'hestia_parallax_layer2', array(
'label' => esc_html__( 'Second Layer', 'hestia' ),
'section' => 'hestia_big_title',
'priority' => 40,
)
)
);
$hestia_slider_content = get_theme_mod( 'hestia_slider_content' );
if ( empty( $hestia_slider_content ) ) {
$wp_customize->get_setting( 'hestia_big_title_background' )->default = esc_url( apply_filters( 'hestia_big_title_background_default', get_template_directory_uri() . '/assets/img/slider2.jpg' ) );
$wp_customize->get_setting( 'hestia_big_title_title' )->default = esc_html__( 'Change in the Customizer', 'hestia' );
$wp_customize->get_setting( 'hestia_big_title_text' )->default = esc_html__( 'Change in the Customizer', 'hestia' );
$wp_customize->get_setting( 'hestia_big_title_button_text' )->default = esc_html__( 'Change in the Customizer', 'hestia' );
$wp_customize->get_setting( 'hestia_big_title_button_link' )->default = esc_url( '#' );
}
$settings = array(
'section_id' => 'sidebar-widgets-sidebar-big-title',
'panel' => 'hestia_frontpage_sections',
'priority' => 5,
'controls_to_move' => array(
'hestia_slider_tabs',
'hestia_big_title_background',
'hestia_big_title_title',
'hestia_big_title_text',
'hestia_big_title_button_text',
'hestia_big_title_button_link',
'hestia_slider_alignment',
'hestia_parallax_layer1',
'hestia_parallax_layer2',
'hestia_big_title_widgets_title',
),
);
hestia_move_customizer_sidebar( $settings, $wp_customize );
}
add_action( 'customize_register', 'hestia_big_title_customize_register' );
/**
* Add controls for second button in Big Title Section
* Compatibility with orfeo child theme
*
* @return array - new args for radio image control
* package hestia
* since 1.1.74
*/
function hestia_add_orfeo_button_controls( $args ) {
array_push( $args['choices']['slider']['controls'], 'orfeo_big_title_second_button_text', 'orfeo_big_title_second_button_link' );
return $args;
}
if ( defined( 'ORFEO_VERSION' ) ) {
add_filter( 'hestia_slider_tabs_filter_args', 'hestia_add_orfeo_button_controls' );
}
/**
* Add selective refresh for big title section controls.
*
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
* @since 1.1.31
* @access public
*/
function hestia_register_big_title_partials( $wp_customize ) {
$wp_customize->selective_refresh->add_partial(
'hestia_big_title_title', array(
'selector' => '.carousel .hestia-title',
'settings' => 'hestia_big_title_title',
'render_callback' => 'hestia_big_title_title_render_callback',
)
);
$wp_customize->selective_refresh->add_partial(
'hestia_big_title_text', array(
'selector' => '.carousel .sub-title',
'settings' => 'hestia_big_title_text',
'render_callback' => 'hestia_big_title_text_render_callback',
)
);
$wp_customize->selective_refresh->add_partial(
'hestia_big_title_button', array(
'selector' => '.carousel .buttons',
'settings' => array( 'hestia_big_title_button_text', 'hestia_big_title_button_link' ),
'render_callback' => 'hestia_big_title_button_render_callback',
)
);
$wp_customize->selective_refresh->add_partial(
'hestia_big_title_background', array(
'selector' => '.big-title-image',
'settings' => 'hestia_big_title_background',
'render_callback' => 'hestia_big_title_image_callback',
)
);
$wp_customize->selective_refresh->add_partial(
'hestia_slider_alignment', array(
'selector' => '.hestia-big-title-content',
'settings' => 'hestia_slider_alignment',
'render_callback' => 'hestia_slider_alignment_callback',
)
);
}
add_action( 'customize_register', 'hestia_register_big_title_partials' );
/**
* Render callback function for header title selective refresh
*
* @return string
*/
function hestia_big_title_title_render_callback() {
return get_theme_mod( 'hestia_big_title_title' );
}
/**
* Render callback function for header subtitle selective refresh
*
* @return string
*/
function hestia_big_title_text_render_callback() {
return get_theme_mod( 'hestia_big_title_text' );
}
/**
* Render callback function for slider alignment selective refresh
*
* @since 1.1.41
*/
function hestia_slider_alignment_callback() {
$section_content = hestia_get_big_title_content();
hestia_show_big_title_content( $section_content );
}
/**
* Render callback function for header button selective refresh
*
* @return string
*/
function hestia_big_title_button_render_callback() {
$button_text = get_theme_mod( 'hestia_big_title_button_text' );
$button_link = get_theme_mod( 'hestia_big_title_button_link' );
$output = '';
if ( ! empty( $button_text ) && ! empty( $button_link ) ) {
$output = '' . $button_text . '';
}
return wp_kses_post( $output );
}
/**
* Callback function for big title background selective refresh.
*
* @since 1.1.31
* @access public
*/
function hestia_big_title_image_callback() {
$hestia_parallax_layer1 = get_theme_mod( 'hestia_parallax_layer1' );
$hestia_parallax_layer2 = get_theme_mod( 'hestia_parallax_layer2' );
if ( empty( $hestia_parallax_layer1 ) || empty( $hestia_parallax_layer2 ) ) {
$hestia_big_title_background = get_theme_mod( 'hestia_big_title_background' );
?>