public static function register($wp_customize) { $panel_id = 'layout'; $wp_customize->add_panel($panel_id, array('priority' => 10, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => 'Layout')); /****************** * // Global Section *******************/ $section_id = 'layout_global'; $wp_customize->add_section($section_id, array('title' => __('Global', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_site'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Site Layout', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); /****************** * // Header Section *******************/ $section_id = 'layout_header'; $wp_customize->add_section($section_id, array('title' => __('Header', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_search'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Search Icon', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************** * // Footer Section *******************/ $section_id = 'layout_footer'; $wp_customize->add_section($section_id, array('title' => __('Footer', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_widgets'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Number of Widgets', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_social'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Social Icons', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Blog (Posts Page) Section *******************************************/ $section_id = 'layout_blog'; $wp_customize->add_section($section_id, array('title' => __('Blog (Posts Page)', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_style'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Style', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_meta'; $wp_customize->add_control(new Quest_Customize_Misc_Control($wp_customize, $setting_id, array('section' => $section_id, 'type' => 'heading', 'label' => __('Post Meta', 'quest')))); $setting_id = $section_id . '_meta-cats'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Categories', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_meta-tags'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Tags', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Archives Section *******************************************/ $section_id = 'layout_archive'; $wp_customize->add_section($section_id, array('title' => __('Archives', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_style'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Style', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_meta'; $wp_customize->add_control(new Quest_Customize_Misc_Control($wp_customize, $setting_id, array('section' => $section_id, 'type' => 'heading', 'label' => __('Post Meta', 'quest')))); $setting_id = $section_id . '_meta-cats'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Categories', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_meta-tags'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Tags', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Search Results Section *******************************************/ $section_id = 'layout_search'; $wp_customize->add_section($section_id, array('title' => __('Search Results', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_style'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Style', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_meta'; $wp_customize->add_control(new Quest_Customize_Misc_Control($wp_customize, $setting_id, array('section' => $section_id, 'type' => 'heading', 'label' => __('Post Meta', 'quest')))); $setting_id = $section_id . '_meta-cats'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Categories', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_meta-tags'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Tags', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Single Post *******************************************/ $section_id = 'layout_post'; $wp_customize->add_section($section_id, array('title' => __('Single Post', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Post Title ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_meta'; $wp_customize->add_control(new Quest_Customize_Misc_Control($wp_customize, $setting_id, array('section' => $section_id, 'type' => 'heading', 'label' => __('Post Meta', 'quest')))); $setting_id = $section_id . '_meta-cats'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Categories', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_meta-tags'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Tags', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Single Page *******************************************/ $section_id = 'layout_page'; $wp_customize->add_section($section_id, array('title' => __('Single Page', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Page Title ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); }
/** * Sanitize function for WP_Customize setting to sanitize select * * @return string */ function quest_sanitize_choice($value, $setting) { if (is_object($setting)) { $setting = $setting->id; } $options = quest_get_choices($setting); if (!in_array($value, array_keys($options))) { $value = quest_get_default($setting); } return $value; }
public static function register($wp_customize) { $panel_id = 'layout'; $wp_customize->add_panel($panel_id, array('priority' => 10, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => 'Layout')); /****************** * // Global Section *******************/ $section_id = 'layout_global'; $wp_customize->add_section($section_id, array('title' => __('Global', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_site'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Site Layout', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); /****************** * // Header Section *******************/ $section_id = 'layout_header'; $wp_customize->add_section($section_id, array('title' => __('Header', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_height'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new Quest_Customizer_Range_Control($wp_customize, $setting_id, array('label' => __('Header Height', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_menu_height'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new Quest_Customizer_Range_Control($wp_customize, $setting_id, array('label' => __('Main Menu Height', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_search'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Search Icon', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_secondary'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Secondary Header', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_secondary-layout'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Secondary Header Layout', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_callout'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'esc_html')); $wp_customize->add_control(new Textarea_Custom_Control($wp_customize, $setting_id, array('label' => __('Secondary Header Callout Text', 'quest'), 'section' => $section_id, 'settings' => $setting_id))); /****************** * // Footer Section *******************/ $section_id = 'layout_footer'; $wp_customize->add_section($section_id, array('title' => __('Footer', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_widgets'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Number of Widgets', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_social'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Social Icons', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Blog (Posts Page) Section *******************************************/ $section_id = 'layout_blog'; $wp_customize->add_section($section_id, array('title' => __('Blog (Posts Page)', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_style'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Style', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_meta'; $wp_customize->add_control(new Quest_Customize_Misc_Control($wp_customize, $setting_id, array('section' => $section_id, 'type' => 'heading', 'label' => __('Post Meta', 'quest')))); $setting_id = $section_id . '_meta-cats'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Categories', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_meta-tags'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Tags', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Archives Section *******************************************/ $section_id = 'layout_archive'; $wp_customize->add_section($section_id, array('title' => __('Archives', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_style'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Style', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_meta'; $wp_customize->add_control(new Quest_Customize_Misc_Control($wp_customize, $setting_id, array('section' => $section_id, 'type' => 'heading', 'label' => __('Post Meta', 'quest')))); $setting_id = $section_id . '_meta-cats'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Categories', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_meta-tags'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Tags', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Search Results Section *******************************************/ $section_id = 'layout_search'; $wp_customize->add_section($section_id, array('title' => __('Search Results', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_style'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Style', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_meta'; $wp_customize->add_control(new Quest_Customize_Misc_Control($wp_customize, $setting_id, array('section' => $section_id, 'type' => 'heading', 'label' => __('Post Meta', 'quest')))); $setting_id = $section_id . '_meta-cats'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Categories', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_meta-tags'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Tags', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Single Post *******************************************/ $section_id = 'layout_post'; $wp_customize->add_section($section_id, array('title' => __('Single Post', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_ft-img-hide'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Hide Featured Image', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_ft-img-enlarge'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Enlarge Featured Image', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox', 'description' => __('Enalrge the featured image width to the 100% width of the view port/window', 'quest')))); $setting_id = $section_id . '_content_align'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Content Alignment', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Post Title ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_meta'; $wp_customize->add_control(new Quest_Customize_Misc_Control($wp_customize, $setting_id, array('section' => $section_id, 'type' => 'heading', 'label' => __('Post Meta', 'quest')))); $setting_id = $section_id . '_meta-cats'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Categories', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_meta-tags'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Tags', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); /****************************************** * // Single Page *******************************************/ $section_id = 'layout_page'; $wp_customize->add_section($section_id, array('title' => __('Single Page', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $setting_id = $section_id . '_sidebar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Sidebar Position', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title-bar'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Title Bar ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_ft-img-hide'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Hide Featured Image', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox'))); $setting_id = $section_id . '_ft-img-enlarge'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'absint')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Enlarge Featured Image', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'checkbox', 'description' => __('Enalrge the featured image width to the 100% width of the view port/window', 'quest')))); $setting_id = $section_id . '_content_align'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Content Alignment', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); $setting_id = $section_id . '_title'; $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'type' => 'theme_mod', 'sanitize_callback' => 'quest_sanitize_choice')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, $setting_id, array('label' => __('Show Page Title ?', 'quest'), 'section' => $section_id, 'settings' => $setting_id, 'type' => 'select', 'choices' => quest_get_choices($setting_id)))); }
public static function register($wp_customize) { $wp_customize->remove_section('colors'); $panel_id = 'typography'; $wp_customize->add_panel($panel_id, array('priority' => 10, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => 'Typography', 'description' => '')); /****************** * // Subsets Section *******************/ $section_id = 'typography_options'; $setting_id = $section_id . '_subsets'; $wp_customize->add_section($section_id, array('title' => __('Font Options', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); $wp_customize->add_setting($setting_id, array('default' => quest_get_default($setting_id), 'sanitize_callback' => 'quest_sanitize_font_subsets')); $wp_customize->add_control(new Quest_Customize_Control_Checkbox_Multiple($wp_customize, $setting_id, array('section' => $section_id, 'label' => __('Choose Google Font Subsets', 'quest'), 'choices' => quest_get_choices($setting_id)))); /****************** * // Global Section *******************/ $section_id = 'typography_global'; $wp_customize->add_section($section_id, array('title' => __('Global', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); /* Global */ quest_generate_font_control($wp_customize, $section_id, __('Text', 'quest'), '', true); /****************** * // Headings Section *******************/ $section_id = 'typography_heading'; $wp_customize->add_section($section_id, array('title' => __('Text Headings', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); /* H1 */ quest_generate_font_control($wp_customize, $section_id, __('H1', 'quest'), 'h1'); /* H2 */ quest_generate_font_control($wp_customize, $section_id, __('H2', 'quest'), 'h2'); /* H3 */ quest_generate_font_control($wp_customize, $section_id, __('H3', 'quest'), 'h3'); /* H4 */ quest_generate_font_control($wp_customize, $section_id, __('H4', 'quest'), 'h4'); /* H5 */ quest_generate_font_control($wp_customize, $section_id, __('H5', 'quest'), 'h5'); /* H6 */ quest_generate_font_control($wp_customize, $section_id, __('H6', 'quest'), 'h6'); /****************** * // Main Menu Section *******************/ $section_id = 'typography_menu'; $wp_customize->add_section($section_id, array('title' => __('Main Menu', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); /* Menu Items */ quest_generate_font_control($wp_customize, $section_id, __('Menu Items', 'quest'), '', true, array('line_height')); /* Sub Menu Items */ quest_generate_font_control($wp_customize, $section_id, __('Sub Menu Items', 'quest'), 'sub'); /****************************** * // Site Title & Tagline Section *******************************/ $section_id = 'typography_site'; $wp_customize->add_section($section_id, array('title' => __('Site Title & Tagline', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); /* Site Title */ quest_generate_font_control($wp_customize, $section_id, __('Site Title', 'quest'), 'title'); /* Site Tagline */ quest_generate_font_control($wp_customize, $section_id, __('Site Tagline', 'quest'), 'tagline'); /****************************** * // Sidebar *******************************/ $section_id = 'typography_sidebar'; $wp_customize->add_section($section_id, array('title' => __('Sidebar', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); /* Site Title */ quest_generate_font_control($wp_customize, $section_id, __('Widget Title', 'quest'), 'title'); /* Site Tagline */ quest_generate_font_control($wp_customize, $section_id, __('Widget Body', 'quest'), 'body'); /****************************** * // Footer *******************************/ $section_id = 'typography_footer'; $wp_customize->add_section($section_id, array('title' => __('Footer', 'quest'), 'priority' => 35, 'capability' => 'edit_theme_options', 'panel' => $panel_id)); /* Widget Title */ quest_generate_font_control($wp_customize, $section_id, __('Widget Title', 'quest'), 'title'); /* Widget Body */ quest_generate_font_control($wp_customize, $section_id, __('Widget Body', 'quest'), 'body'); /* Secondary Footer */ quest_generate_font_control($wp_customize, $section_id, __('Footer Text', 'quest'), 'text'); }