406 lines
14 KiB
PHP
406 lines
14 KiB
PHP
<?php
|
|
/**
|
|
* Footer panel.
|
|
*/
|
|
|
|
// Add section immediately to keep sort order.
|
|
Flatsome_Option::add_section( 'footer', array(
|
|
'title' => __( 'Footer', 'flatsome-admin' ),
|
|
) );
|
|
|
|
function flatsome_customizer_footer_options() {
|
|
Flatsome_Option::add_field( '', array(
|
|
'type' => 'custom',
|
|
'settings' => 'custom_title_custom_footer',
|
|
'label' => '',
|
|
'section' => 'footer',
|
|
'default' => '<div class="options-title-divider" style="margin-bottom:15px">Custom Footer</div>',
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'select',
|
|
'settings' => 'footer_block',
|
|
'label' => __( 'Custom Footer Block', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'description' => __( 'You can replace the Footer with a Custom Block that you can edit in the Page Builder.', 'flatsome-admin' ),
|
|
'default' => false,
|
|
'choices' => flatsome_customizer_blocks(),
|
|
) );
|
|
|
|
$hide_on_custom_footer_block = array(
|
|
array( 'setting' => 'footer_block', 'operator' => '==', 'value' => false ),
|
|
);
|
|
|
|
Flatsome_Option::add_field( '', array(
|
|
'type' => 'custom',
|
|
'settings' => 'custom_html_footer_widgets',
|
|
'label' => '',
|
|
'section' => 'footer',
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
'default' => '<div class="options-title-divider" style="margin-bottom:15px">Widgets</div><p>Click the button to go to Footer Widgets</p><div><button style="margin-bottom:15px" class="button button-primary" data-to-panel="widgets">Edit Footer Widgets</button></div>',
|
|
) );
|
|
|
|
Flatsome_Option::add_field( '', array(
|
|
'type' => 'custom',
|
|
'settings' => 'custom_title_footer_1',
|
|
'label' => '',
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
'section' => 'footer',
|
|
'default' => '<div class="options-title-divider">Footer 1</div>',
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'checkbox',
|
|
'settings' => 'footer_1',
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
'transport' => flatsome_customizer_transport(),
|
|
'label' => __( 'Enable Footer 1', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => 1,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'radio-buttonset',
|
|
'settings' => 'footer_1_columns',
|
|
'label' => __( 'Columns', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
'default' => '4',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'choices' => array(
|
|
'6' => __( '6', 'flatsome-admin' ),
|
|
'4' => __( '4', 'flatsome-admin' ),
|
|
'3' => __( '3', 'flatsome-admin' ),
|
|
'2' => __( '2', 'flatsome-admin' ),
|
|
'1' => __( '1', 'flatsome-admin' ),
|
|
),
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'radio-image',
|
|
'settings' => 'footer_1_color',
|
|
'label' => __( 'Text color', 'flatsome-admin' ),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
'section' => 'footer',
|
|
'default' => 'light',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'choices' => array(
|
|
'dark' => flatsome_customizer_images_uri() . '/text-light.svg',
|
|
'light' => flatsome_customizer_images_uri() . '/text-dark.svg',
|
|
),
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'color-alpha',
|
|
'alpha' => true,
|
|
'settings' => 'footer_1_bg_color',
|
|
'label' => __( 'Background Color', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => '#fff',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'image',
|
|
'settings' => 'footer_1_bg_image',
|
|
'label' => __( 'Background Image', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => '',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( '', array(
|
|
'type' => 'custom',
|
|
'settings' => 'custom_title_footer_2',
|
|
'label' => '',
|
|
'section' => 'footer',
|
|
'default' => '<div class="options-title-divider">Footer 2</div>',
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'checkbox',
|
|
'settings' => 'footer_2',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
'label' => __( 'Enable Footer 2', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => 1,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'radio-buttonset',
|
|
'settings' => 'footer_2_columns',
|
|
'label' => __( 'Columns', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => '4',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'choices' => array(
|
|
'6' => __( '6', 'flatsome-admin' ),
|
|
'4' => __( '4', 'flatsome-admin' ),
|
|
'3' => __( '3', 'flatsome-admin' ),
|
|
'2' => __( '2', 'flatsome-admin' ),
|
|
'1' => __( '1', 'flatsome-admin' ),
|
|
),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'radio-image',
|
|
'settings' => 'footer_2_color',
|
|
'label' => __( 'Text color', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => 'dark',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'choices' => array(
|
|
'dark' => flatsome_customizer_images_uri() . '/text-light.svg',
|
|
'light' => flatsome_customizer_images_uri() . '/text-dark.svg',
|
|
),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'color-alpha',
|
|
'alpha' => true,
|
|
'settings' => 'footer_2_bg_color',
|
|
'label' => __( 'Background Color', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => '#777',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'image',
|
|
'settings' => 'footer_2_bg_image',
|
|
'label' => __( 'Background Image', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => '',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( '', array(
|
|
'type' => 'custom',
|
|
'settings' => 'custom_title_footer_absolute',
|
|
'label' => '',
|
|
'section' => 'footer',
|
|
'default' => '<div class="options-title-divider">Absolute Footer</div>',
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'radio-image',
|
|
'settings' => 'footer_bottom_text',
|
|
'label' => __( 'Text color', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => 'dark',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'choices' => array(
|
|
'dark' => flatsome_customizer_images_uri() . '/text-light.svg',
|
|
'light' => flatsome_customizer_images_uri() . '/text-dark.svg',
|
|
),
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'radio-buttonset',
|
|
'settings' => 'footer_bottom_align',
|
|
'label' => __( 'Align', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => '',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'choices' => array(
|
|
'' => __( 'Left/Right', 'flatsome-admin' ),
|
|
'center' => __( 'Center', 'flatsome-admin' ),
|
|
),
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'color-alpha',
|
|
'alpha' => true,
|
|
'settings' => 'footer_bottom_color',
|
|
'label' => __( 'Background Color', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => '',
|
|
'transport' => flatsome_customizer_transport(),
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'textarea',
|
|
'settings' => 'footer_left_text',
|
|
'label' => __( 'Bottom Text - Primary', 'flatsome-admin' ),
|
|
'description' => __( 'Add Any HTML or Shortcode here...', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'sanitize_callback' => 'flatsome_custom_sanitize',
|
|
'default' => 'Copyright [ux_current_year] © <strong>Flatsome Theme</strong>',
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'textarea',
|
|
'settings' => 'footer_right_text',
|
|
'label' => __( 'Bottom Text - Secondary', 'flatsome-admin' ),
|
|
'description' => __( 'Add Any HTML or Shortcode here...', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'sanitize_callback' => 'flatsome_custom_sanitize',
|
|
'default' => '',
|
|
) );
|
|
|
|
$hide_off_back_to_top = array(
|
|
array( 'setting' => 'back_to_top', 'operator' => '==', 'value' => true ),
|
|
);
|
|
|
|
Flatsome_Option::add_field( '', array(
|
|
'type' => 'custom',
|
|
'settings' => 'back_to_top_button_title',
|
|
'label' => '',
|
|
'section' => 'footer',
|
|
'default' => '<div class="options-title-divider">Back To Top Button</div>',
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'checkbox',
|
|
'settings' => 'back_to_top',
|
|
'label' => __( 'Enable Back To Top Button', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'default' => 1,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'radio-image',
|
|
'settings' => 'back_to_top_shape',
|
|
'label' => __( 'Button Shape', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'default' => 'circle',
|
|
'choices' => array(
|
|
'circle' => flatsome_customizer_images_uri() . '/back-to-top-outline-circle.svg',
|
|
'square' => flatsome_customizer_images_uri() . '/back-to-top-outline-square.svg',
|
|
),
|
|
'active_callback' => $hide_off_back_to_top,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'radio-buttonset',
|
|
'settings' => 'back_to_top_position',
|
|
'label' => __( 'Position', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'default' => 'right',
|
|
'choices' => array(
|
|
'left' => __( 'Left', 'flatsome-admin' ),
|
|
'right' => __( 'Right', 'flatsome-admin' ),
|
|
),
|
|
'active_callback' => $hide_off_back_to_top,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'checkbox',
|
|
'settings' => 'back_to_top_mobile',
|
|
'label' => __( 'Show on Mobile', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'default' => 0,
|
|
'active_callback' => $hide_off_back_to_top,
|
|
) );
|
|
|
|
Flatsome_Option::add_field( '', array(
|
|
'type' => 'custom',
|
|
'settings' => 'custom_title_footer_html',
|
|
'label' => '',
|
|
'section' => 'footer',
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
'default' => '<div class="options-title-divider">Footer HTML</div>',
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'textarea',
|
|
'settings' => 'html_before_footer',
|
|
'label' => __( 'HTML before footer', 'flatsome-admin' ),
|
|
'description' => __( 'Add Any HTML or Shortcode here...', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
'sanitize_callback' => 'flatsome_custom_sanitize',
|
|
'default' => '',
|
|
) );
|
|
|
|
Flatsome_Option::add_field( 'option', array(
|
|
'type' => 'textarea',
|
|
'settings' => 'html_after_footer',
|
|
'label' => __( 'HTML after footer', 'flatsome-admin' ),
|
|
'description' => __( 'Add Any HTML or Shortcode here...', 'flatsome-admin' ),
|
|
'section' => 'footer',
|
|
'transport' => flatsome_customizer_transport(),
|
|
'active_callback' => $hide_on_custom_footer_block,
|
|
'sanitize_callback' => 'flatsome_custom_sanitize',
|
|
'default' => '',
|
|
) );
|
|
}
|
|
add_action( 'init', 'flatsome_customizer_footer_options' );
|
|
|
|
function flatsome_refresh_footer_partials( WP_Customize_Manager $wp_customize ) {
|
|
|
|
// Abort if selective refresh is not available.
|
|
if ( ! isset( $wp_customize->selective_refresh ) ) {
|
|
return;
|
|
}
|
|
|
|
$wp_customize->selective_refresh->add_partial( 'footer-layout', array(
|
|
'selector' => '.footer-wrapper',
|
|
'settings' => array(
|
|
'footer_2',
|
|
'footer_1',
|
|
'html_before_footer',
|
|
'html_after_footer',
|
|
'footer_2_color',
|
|
'footer_1_color',
|
|
'footer_2_columns',
|
|
'footer_1_columns',
|
|
),
|
|
'render_callback' => function () {
|
|
get_template_part( 'template-parts/footer/footer' );
|
|
},
|
|
) );
|
|
|
|
$wp_customize->selective_refresh->add_partial( 'footer-left-text', array(
|
|
'selector' => '.copyright-footer',
|
|
'settings' => array( 'footer_left_text' ),
|
|
'render_callback' => function () {
|
|
return do_shortcode( flatsome_option( 'footer_left_text' ) );
|
|
},
|
|
) );
|
|
|
|
$wp_customize->selective_refresh->add_partial( 'footer-right-text', array(
|
|
'selector' => '.footer-secondary .footer-text',
|
|
'settings' => array( 'footer_right_text' ),
|
|
'render_callback' => function () {
|
|
return do_shortcode( flatsome_option( 'footer_right_text' ) );
|
|
},
|
|
) );
|
|
|
|
$wp_customize->selective_refresh->add_partial( 'footer-absolute', array(
|
|
'selector' => '.absolute-footer',
|
|
'settings' => array( 'footer_bottom_align', 'footer_bottom_text' ),
|
|
'container_inclusive' => true,
|
|
'render_callback' => function () {
|
|
get_template_part( 'template-parts/footer/footer-absolute' );
|
|
},
|
|
) );
|
|
|
|
// Refresh custom styling / Colors etc.
|
|
$wp_customize->selective_refresh->add_partial( 'refresh_css_footer', array(
|
|
'selector' => 'head > style#custom-css',
|
|
'container_inclusive' => true,
|
|
'settings' => array( 'footer_1_bg_image', 'footer_2_bg_image' ),
|
|
'render_callback' => function () {
|
|
flatsome_custom_css();
|
|
},
|
|
) );
|
|
|
|
}
|
|
|
|
add_action( 'customize_register', 'flatsome_refresh_footer_partials' );
|