160 lines
4.3 KiB
PHP
160 lines
4.3 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* This file handles the secondary navigation spacing Customizer options.
|
||
|
*
|
||
|
* @package GP Premium
|
||
|
*/
|
||
|
|
||
|
if ( ! defined( 'ABSPATH' ) ) {
|
||
|
exit; // No direct access, please.
|
||
|
}
|
||
|
|
||
|
if ( ! function_exists( 'generate_spacing_secondary_nav_customizer' ) ) {
|
||
|
add_action( 'customize_register', 'generate_spacing_secondary_nav_customizer', 1000 );
|
||
|
/**
|
||
|
* Adds our Secondary Nav spacing options
|
||
|
*
|
||
|
* These options are in their own function so we can hook it in late to
|
||
|
* make sure Secondary Nav is activated.
|
||
|
*
|
||
|
* 1000 priority is there to make sure Secondary Nav is registered (999)
|
||
|
* as we check to see if the layout control exists.
|
||
|
*
|
||
|
* Secondary Nav now uses 100 as a priority.
|
||
|
*
|
||
|
* @param object $wp_customize The Customizer object.
|
||
|
*/
|
||
|
function generate_spacing_secondary_nav_customizer( $wp_customize ) {
|
||
|
|
||
|
// Bail if we don't have our defaults.
|
||
|
if ( ! function_exists( 'generate_secondary_nav_get_defaults' ) ) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// Make sure Secondary Nav is activated.
|
||
|
if ( ! $wp_customize->get_section( 'secondary_nav_section' ) ) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// Get our controls.
|
||
|
require_once GP_LIBRARY_DIRECTORY . 'customizer-helpers.php';
|
||
|
|
||
|
// Get our defaults.
|
||
|
$defaults = generate_secondary_nav_get_defaults();
|
||
|
|
||
|
// Remove our old label control if it exists.
|
||
|
// It only would if the user is using an old Secondary Nav add-on version.
|
||
|
if ( $wp_customize->get_control( 'generate_secondary_navigation_spacing_title' ) ) {
|
||
|
$wp_customize->remove_control( 'generate_secondary_navigation_spacing_title' );
|
||
|
}
|
||
|
|
||
|
// Menu item width.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_secondary_nav_settings[secondary_menu_item]',
|
||
|
array(
|
||
|
'default' => $defaults['secondary_menu_item'],
|
||
|
'type' => 'option',
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
$wp_customize->add_control(
|
||
|
new GeneratePress_Pro_Range_Slider_Control(
|
||
|
$wp_customize,
|
||
|
'generate_secondary_nav_settings[secondary_menu_item]',
|
||
|
array(
|
||
|
'label' => __( 'Menu Item Width', 'gp-premium' ),
|
||
|
'section' => 'secondary_nav_section',
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_secondary_nav_settings[secondary_menu_item]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 0,
|
||
|
'max' => 100,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 220,
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Menu item height.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_secondary_nav_settings[secondary_menu_item_height]',
|
||
|
array(
|
||
|
'default' => $defaults['secondary_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_secondary_nav_settings[secondary_menu_item_height]',
|
||
|
array(
|
||
|
'label' => __( 'Menu Item Height', 'gp-premium' ),
|
||
|
'section' => 'secondary_nav_section',
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_secondary_nav_settings[secondary_menu_item_height]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 20,
|
||
|
'max' => 150,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 240,
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Sub-menu height.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_secondary_nav_settings[secondary_sub_menu_item_height]',
|
||
|
array(
|
||
|
'default' => $defaults['secondary_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_secondary_nav_settings[secondary_sub_menu_item_height]',
|
||
|
array(
|
||
|
'label' => __( 'Sub-Menu Item Height', 'gp-premium' ),
|
||
|
'section' => 'secondary_nav_section',
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_secondary_nav_settings[secondary_sub_menu_item_height]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 0,
|
||
|
'max' => 50,
|
||
|
'step' => 1,
|
||
|
'edit' => true,
|
||
|
'unit' => 'px',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 260,
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
}
|