282 lines
6.7 KiB
PHP
282 lines
6.7 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* This file handles the navigation spacing Customizer options.
|
||
|
*
|
||
|
* @package GP Premium
|
||
|
*/
|
||
|
|
||
|
if ( ! defined( 'ABSPATH' ) ) {
|
||
|
exit; // No direct access, please.
|
||
|
}
|
||
|
|
||
|
// Add our old navigation section.
|
||
|
$wp_customize->add_section(
|
||
|
'generate_spacing_navigation',
|
||
|
array(
|
||
|
'title' => __( 'Primary Navigation', 'gp-premium' ),
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'priority' => 15,
|
||
|
'panel' => 'generate_spacing_panel',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// If our new Layout section doesn't exist, use the old navigation section.
|
||
|
$navigation_section = ( $wp_customize->get_panel( 'generate_layout_panel' ) ) ? 'generate_layout_navigation' : 'generate_spacing_navigation';
|
||
|
|
||
|
// Menu item width.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[menu_item]',
|
||
|
array(
|
||
|
'default' => $defaults['menu_item'],
|
||
|
'type' => 'option',
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[mobile_menu_item]',
|
||
|
array(
|
||
|
'default' => $defaults['mobile_menu_item'],
|
||
|
'type' => 'option',
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'sanitize_callback' => 'generate_premium_sanitize_empty_absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
$wp_customize->add_control(
|
||
|
new GeneratePress_Pro_Range_Slider_Control(
|
||
|
$wp_customize,
|
||
|
'generate_spacing_settings[menu_item]',
|
||
|
array(
|
||
|
'label' => __( 'Menu Item Width', 'gp-premium' ),
|
||
|
'section' => $navigation_section,
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_spacing_settings[menu_item]',
|
||
|
'mobile' => 'generate_spacing_settings[mobile_menu_item]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 0,
|
||
|
'max' => 100,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
'mobile' => array(
|
||
|
'min' => 0,
|
||
|
'max' => 100,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 220,
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Menu item height.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[menu_item_height]',
|
||
|
array(
|
||
|
'default' => $defaults['menu_item_height'],
|
||
|
'type' => 'option',
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[mobile_menu_item_height]',
|
||
|
array(
|
||
|
'default' => $defaults['mobile_menu_item_height'],
|
||
|
'type' => 'option',
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'sanitize_callback' => 'generate_premium_sanitize_empty_absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
$wp_customize->add_control(
|
||
|
new GeneratePress_Pro_Range_Slider_Control(
|
||
|
$wp_customize,
|
||
|
'generate_spacing_settings[menu_item_height]',
|
||
|
array(
|
||
|
'label' => __( 'Menu Item Height', 'gp-premium' ),
|
||
|
'section' => $navigation_section,
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_spacing_settings[menu_item_height]',
|
||
|
'mobile' => 'generate_spacing_settings[mobile_menu_item_height]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 20,
|
||
|
'max' => 150,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
'mobile' => array(
|
||
|
'min' => 20,
|
||
|
'max' => 150,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 240,
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Sub-menu item height.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[sub_menu_item_height]',
|
||
|
array(
|
||
|
'default' => $defaults['sub_menu_item_height'],
|
||
|
'type' => 'option',
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
$wp_customize->add_control(
|
||
|
new GeneratePress_Pro_Range_Slider_Control(
|
||
|
$wp_customize,
|
||
|
'generate_spacing_settings[sub_menu_item_height]',
|
||
|
array(
|
||
|
'label' => __( 'Sub-Menu Item Height', 'gp-premium' ),
|
||
|
'section' => $navigation_section,
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_spacing_settings[sub_menu_item_height]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 0,
|
||
|
'max' => 50,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 260,
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
|
||
|
if ( isset( $defaults['sub_menu_width'] ) ) {
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[sub_menu_width]',
|
||
|
array(
|
||
|
'default' => $defaults['sub_menu_width'],
|
||
|
'type' => 'option',
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
$wp_customize->add_control(
|
||
|
new GeneratePress_Pro_Range_Slider_Control(
|
||
|
$wp_customize,
|
||
|
'generate_spacing_settings[sub_menu_width]',
|
||
|
array(
|
||
|
'label' => __( 'Sub-Menu Width', 'gp-premium' ),
|
||
|
'section' => $navigation_section,
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_spacing_settings[sub_menu_width]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 100,
|
||
|
'max' => 500,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 265,
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
// Sticky menu height.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[sticky_menu_item_height]',
|
||
|
array(
|
||
|
'default' => $defaults['sticky_menu_item_height'],
|
||
|
'type' => 'option',
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'sanitize_callback' => 'generate_premium_sanitize_empty_absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
$wp_customize->add_control(
|
||
|
new GeneratePress_Pro_Range_Slider_Control(
|
||
|
$wp_customize,
|
||
|
'generate_spacing_settings[sticky_menu_item_height]',
|
||
|
array(
|
||
|
'label' => __( 'Menu Item Height', 'gp-premium' ),
|
||
|
'section' => 'menu_plus_sticky_menu',
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_spacing_settings[sticky_menu_item_height]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 20,
|
||
|
'max' => 150,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 150,
|
||
|
'active_callback' => 'generate_sticky_navigation_activated',
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Off canvas menu height.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[off_canvas_menu_item_height]',
|
||
|
array(
|
||
|
'default' => $defaults['off_canvas_menu_item_height'],
|
||
|
'type' => 'option',
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'sanitize_callback' => 'generate_premium_sanitize_empty_absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
$wp_customize->add_control(
|
||
|
new GeneratePress_Pro_Range_Slider_Control(
|
||
|
$wp_customize,
|
||
|
'generate_spacing_settings[off_canvas_menu_item_height]',
|
||
|
array(
|
||
|
'label' => __( 'Menu Item Height', 'gp-premium' ),
|
||
|
'section' => 'menu_plus_slideout_menu',
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_spacing_settings[off_canvas_menu_item_height]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 20,
|
||
|
'max' => 150,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 200,
|
||
|
'active_callback' => 'generate_slideout_navigation_activated',
|
||
|
)
|
||
|
)
|
||
|
);
|