212 lines
5.2 KiB
PHP
212 lines
5.2 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* This file handles the sidebar spacing Customizer options.
|
||
|
*
|
||
|
* @package GP Premium
|
||
|
*/
|
||
|
|
||
|
if ( ! defined( 'ABSPATH' ) ) {
|
||
|
exit; // No direct access, please.
|
||
|
}
|
||
|
|
||
|
// Add our old Sidebars section.
|
||
|
// This section is no longer used but is kept around for back compat.
|
||
|
$wp_customize->add_section(
|
||
|
'generate_spacing_sidebar',
|
||
|
array(
|
||
|
'title' => __( 'Sidebars', 'gp-premium' ),
|
||
|
'capability' => 'edit_theme_options',
|
||
|
'priority' => 15,
|
||
|
'panel' => 'generate_spacing_panel',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Add our controls to the Layout panel if it exists.
|
||
|
// If not, use the old section.
|
||
|
$widget_section = ( $wp_customize->get_panel( 'generate_layout_panel' ) ) ? 'generate_layout_sidebars' : 'generate_spacing_sidebar';
|
||
|
|
||
|
// Widget padding top.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[widget_top]',
|
||
|
array(
|
||
|
'default' => $defaults['widget_top'],
|
||
|
'type' => 'option',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Widget padding right.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[widget_right]',
|
||
|
array(
|
||
|
'default' => $defaults['widget_right'],
|
||
|
'type' => 'option',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Widget padding bottom.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[widget_bottom]',
|
||
|
array(
|
||
|
'default' => $defaults['widget_bottom'],
|
||
|
'type' => 'option',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Widget padding left.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[widget_left]',
|
||
|
array(
|
||
|
'default' => $defaults['widget_left'],
|
||
|
'type' => 'option',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Widget padding top.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[mobile_widget_top]',
|
||
|
array(
|
||
|
'default' => $defaults['mobile_widget_top'],
|
||
|
'type' => 'option',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Widget padding right.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[mobile_widget_right]',
|
||
|
array(
|
||
|
'default' => $defaults['mobile_widget_right'],
|
||
|
'type' => 'option',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Widget padding bottom.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[mobile_widget_bottom]',
|
||
|
array(
|
||
|
'default' => $defaults['mobile_widget_bottom'],
|
||
|
'type' => 'option',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Widget padding left.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[mobile_widget_left]',
|
||
|
array(
|
||
|
'default' => $defaults['mobile_widget_left'],
|
||
|
'type' => 'option',
|
||
|
'sanitize_callback' => 'absint',
|
||
|
'transport' => 'postMessage',
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Make use of the widget padding settings.
|
||
|
$wp_customize->add_control(
|
||
|
new GeneratePress_Spacing_Control(
|
||
|
$wp_customize,
|
||
|
'widget_spacing',
|
||
|
array(
|
||
|
'type' => 'generatepress-spacing',
|
||
|
'label' => esc_html__( 'Widget Padding', 'gp-premium' ),
|
||
|
'section' => $widget_section,
|
||
|
'settings' => array(
|
||
|
'desktop_top' => 'generate_spacing_settings[widget_top]',
|
||
|
'desktop_right' => 'generate_spacing_settings[widget_right]',
|
||
|
'desktop_bottom' => 'generate_spacing_settings[widget_bottom]',
|
||
|
'desktop_left' => 'generate_spacing_settings[widget_left]',
|
||
|
'mobile_top' => 'generate_spacing_settings[mobile_widget_top]',
|
||
|
'mobile_right' => 'generate_spacing_settings[mobile_widget_right]',
|
||
|
'mobile_bottom' => 'generate_spacing_settings[mobile_widget_bottom]',
|
||
|
'mobile_left' => 'generate_spacing_settings[mobile_widget_left]',
|
||
|
),
|
||
|
'element' => 'widget',
|
||
|
'priority' => 99,
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Left sidebar width.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[left_sidebar_width]',
|
||
|
array(
|
||
|
'default' => $defaults['left_sidebar_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[left_sidebar_width]',
|
||
|
array(
|
||
|
'label' => esc_html__( 'Left Sidebar Width', 'gp-premium' ),
|
||
|
'section' => $widget_section,
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_spacing_settings[left_sidebar_width]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 15,
|
||
|
'max' => 50,
|
||
|
'step' => 5,
|
||
|
'edit' => false,
|
||
|
'unit' => '%',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 125,
|
||
|
)
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// Right sidebar width.
|
||
|
$wp_customize->add_setting(
|
||
|
'generate_spacing_settings[right_sidebar_width]',
|
||
|
array(
|
||
|
'default' => $defaults['right_sidebar_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[right_sidebar_width]',
|
||
|
array(
|
||
|
'label' => esc_html__( 'Right Sidebar Width', 'gp-premium' ),
|
||
|
'section' => $widget_section,
|
||
|
'settings' => array(
|
||
|
'desktop' => 'generate_spacing_settings[right_sidebar_width]',
|
||
|
),
|
||
|
'choices' => array(
|
||
|
'desktop' => array(
|
||
|
'min' => 15,
|
||
|
'max' => 50,
|
||
|
'step' => 5,
|
||
|
'edit' => false,
|
||
|
'unit' => '%',
|
||
|
),
|
||
|
),
|
||
|
'priority' => 125,
|
||
|
)
|
||
|
)
|
||
|
);
|