EVOLUTION-MANAGER
Edit File: options-footer.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' );