nguyen dung 39b8cb3612 init
2022-02-18 16:43:41 +07:00

195 lines
5.8 KiB
PHP

<?php
/**
* Options for nav vertical element.
*
* @package flatsome
*/
Flatsome_Option::add_section( 'header_nav_vertical', array(
'title' => __( 'Vertical Menu', 'flatsome' ),
'panel' => 'header',
) );
/**
* Add options.
*/
function flatsome_customizer_header_nav_vertical_options() {
Flatsome_Option::add_field( '', array(
'type' => 'custom',
'settings' => 'custom_title_header_nav_vertical_layout',
'label' => '',
'section' => 'header_nav_vertical',
'default' => '<div class="options-title-divider">Opener</div>',
) );
Flatsome_Option::add_field( 'option', array(
'type' => 'radio-image',
'settings' => 'header_nav_vertical_icon_style',
'label' => __( 'Icon', 'flatsome' ),
'section' => 'header_nav_vertical',
'default' => 'plain',
'transport' => flatsome_customizer_transport(),
'choices' => array(
'' => flatsome_customizer_images_uri() . '/disabled.svg',
'plain' => flatsome_customizer_images_uri() . '/nav-icon-plain.svg',
),
) );
Flatsome_Option::add_field( 'option', array(
'type' => 'slider',
'settings' => 'header_nav_vertical_height',
'label' => __( 'Height', 'flatsome' ),
'section' => 'header_nav_vertical',
'transport' => flatsome_customizer_transport(),
'default' => '50',
'choices' => array(
'min' => '10',
'max' => '500',
'step' => '1',
),
) );
Flatsome_Option::add_field( 'option', array(
'type' => 'slider',
'settings' => 'header_nav_vertical_width',
'label' => __( 'Width', 'flatsome' ),
'section' => 'header_nav_vertical',
'transport' => flatsome_customizer_transport(),
'default' => '250',
'choices' => array(
'min' => '10',
'max' => '500',
'step' => '1',
),
) );
Flatsome_Option::add_field( 'option', array(
'type' => 'text',
'settings' => 'header_nav_vertical_tagline',
'label' => __( 'Tag line', 'flatsome' ),
'section' => 'header_nav_vertical',
'transport' => flatsome_customizer_transport(),
'default' => '',
) );
Flatsome_Option::add_field( 'option', array(
'type' => 'text',
'settings' => 'header_nav_vertical_text',
'label' => __( 'Text', 'flatsome' ),
'section' => 'header_nav_vertical',
'transport' => flatsome_customizer_transport(),
'default' => '',
) );
Flatsome_Option::add_field( 'option', array(
'type' => 'radio-image',
'settings' => 'header_nav_vertical_text_color',
'label' => __( 'Text color', 'flatsome' ),
'section' => 'header_nav_vertical',
'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' => 'color-alpha',
'alpha' => true,
'settings' => 'header_nav_vertical_bg_color',
'label' => __( 'Background color', 'flatsome' ),
'section' => 'header_nav_vertical',
'transport' => flatsome_customizer_transport(),
'default' => '',
) );
Flatsome_Option::add_field( '', array(
'type' => 'custom',
'settings' => 'custom_title_header_nav_vertical_fly_out',
'label' => '',
'section' => 'header_nav_vertical',
'default' => '<div class="options-title-divider">Fly out</div>',
) );
Flatsome_Option::add_field( 'option', array(
'type' => 'checkbox',
'settings' => 'header_nav_vertical_fly_out_frontpage',
'label' => __( 'Keep open on front page', 'flatsome' ),
'section' => 'header_nav_vertical',
'transport' => flatsome_customizer_transport(),
'default' => 1,
) );
Flatsome_Option::add_field( 'option', array(
'type' => 'checkbox',
'settings' => 'header_nav_vertical_fly_out_shadow',
'label' => __( 'Add shadow', 'flatsome' ),
'section' => 'header_nav_vertical',
'transport' => flatsome_customizer_transport(),
'default' => 1,
) );
Flatsome_Option::add_field( 'option', array(
'type' => 'radio-image',
'settings' => 'header_nav_vertical_fly_out_text_color',
'label' => __( 'Text color', 'flatsome' ),
'section' => 'header_nav_vertical',
'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' => 'header_nav_vertical_fly_out_bg_color',
'label' => __( 'Background color', 'flatsome' ),
'section' => 'header_nav_vertical',
'transport' => flatsome_customizer_transport(),
'default' => '',
) );
}
add_action( 'init', 'flatsome_customizer_header_nav_vertical_options' );
/**
* Refresh partials.
*
* @param WP_Customize_Manager $wp_customize Customizer manager.
*/
function flatsome_refresh_header_nav_vertical_partials( WP_Customize_Manager $wp_customize ) {
if ( ! isset( $wp_customize->selective_refresh ) ) {
return;
}
$wp_customize->selective_refresh->add_partial( 'header-vertical-menu', array(
'selector' => '.header-vertical-menu',
'container_inclusive' => true,
'settings' => array(
'header_nav_vertical_icon_style',
'header_nav_vertical_tagline',
'header_nav_vertical_text',
),
'render_callback' => function () {
get_template_part( 'template-parts/header/partials/element', 'nav-vertical' );
},
) );
$wp_customize->selective_refresh->add_partial( 'header-vertical-menu-refresh-css', array(
'selector' => 'head > style#custom-css',
'settings' => array(
'header_nav_vertical_bg_color',
'header_nav_vertical_fly_out_bg_color',
),
'render_callback' => function () {
flatsome_custom_css();
},
) );
}
add_action( 'customize_register', 'flatsome_refresh_header_nav_vertical_partials' );