コード例 #1
0
 /**
  * Define the sections and settings for the Visibility panel
  */
 function weaverx_customizer_define_visibility_sections($sections)
 {
     $panel = 'weaverx_visibility';
     $visibility_sections = array();
     /**
      * General
      */
     $visibility_sections['visibility-global-vis'] = array('panel' => $panel, 'title' => __('Global Visibility', 'weaver-xtreme'), 'description' => 'Set global visibility attributes.', 'options' => array('hide_tooltip' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Menu/Link Tool Tips', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Hide the tool tip pop up over all menus and links.)', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Site Header
      */
     $visibility_sections['visibility-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('header_hide' => weaverx_cz_select(__('Hide Header Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'hide_site_title' => weaverx_cz_select(__('Hide Site Title', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'hide_site_tagline' => weaverx_cz_select(__('Hide Tagline', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'hide_header_image' => weaverx_cz_select(__('Hide Header Image', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'hide_header_image_front' => weaverx_cz_checkbox_refresh(__('Hide Header Image on Front Page', 'weaver-xtreme')), 'header_sb_hide' => weaverx_cz_select(__('Hide Header Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'header_html_hide' => weaverx_cz_select(__('Hide Header HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'header_search_hide' => weaverx_cz_select(__('Hide Search box on Header', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh')));
     /**
      * Main Menu
      */
     $visibility_sections['visibility-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set visibility for Menus.', 'weaver-xtreme'), 'options' => array('visibility-mm-heading' => weaverx_cz_group_title(__('Primary Menu', 'weaver-xtreme')), 'm_primary_hide' => weaverx_cz_select(__('Hide Primary Menu', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_primary_hide_arrows' => weaverx_cz_checkbox_refresh(__('Hide Primary Menu Arrows', 'weaver-xtreme'), ''), 'm_primary_hide_left' => weaverx_cz_select_plus(__('Hide Primary Menu Left HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_primary_hide_right' => weaverx_cz_select_plus(__('Hide Primary Menu Right HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'menu_nohome' => weaverx_cz_checkbox_refresh(__('No Home Menu Item', 'weaver-xtreme'), __("Don't automatically add Home menu item for home page (as defined in Settings->Reading)", 'weaver-xtreme')), 'visibility-pm-line1' => weaverx_cz_line(), 'visibility-sm-heading' => weaverx_cz_group_title(__('Secondary Menu', 'weaver-xtreme')), 'm_secondary_hide' => weaverx_cz_select(__('Hide Secondary Menu', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_secondary_hide_arrows' => weaverx_cz_checkbox_refresh(__('Hide Secondary Menu Arrows', 'weaver-xtreme')), 'm_secondary_hide_left' => weaverx_cz_select_plus(__('Hide Secondary Menu Left HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_secondary_hide_right' => weaverx_cz_select_plus(__('Hide Secondary Menu Right HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'viz-pm-line2' => weaverx_cz_line(), 'visibility-minim-heading' => weaverx_cz_group_title(__('Header Mini Menu', 'weaver-xtreme'), __('You must define a Header Menu from the Custom Menus Content menu.', 'weaver-xtreme')), 'm_header_mini_hide' => weaverx_cz_select(__('Hide Header Mini Menu', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh')));
     if (weaverx_cz_is_plus()) {
         $new_opts = array('spacing-xm-line1' => weaverx_cz_line(), 'visibility-xm-heading' => weaverx_cz_group_title(__('Extra Menu', 'weaver-xtreme')), 'm_extra_hide' => weaverx_cz_select(__('Hide Extra Menu', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_extra_hide_arrows' => weaverx_cz_checkbox_refresh(__('Hide Extra Menu Arrows', 'weaver-xtreme')), 'm_extra_hide_left' => weaverx_cz_select_plus(__('Hide Extra Menu Left HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_extra_hide_right' => weaverx_cz_select_plus(__('Hide Extra Menu Right HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'));
     } else {
         $new_opts = weaverx_cz_add_plus_message('spacing_menus', __('Extra Menu', 'weaver-xtreme'), __('Add extra menus with <strong>Weaver Xtreme Plus</strong>.', 'weaver-xtreme'));
     }
     // add stub or extra menu options
     $visibility_sections['visibility-menus']['options'] = array_merge($visibility_sections['visibility-menus']['options'], $new_opts);
     /**
      * Info Bar
      */
     $visibility_sections['visibility-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar with breadcrumbs and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array('infobar_hide' => weaverx_cz_select(__('Hide Info Bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'info_hide_breadcrumbs' => weaverx_cz_checkbox_refresh(__('Hide Breadcrumbs', 'weaver-xtreme'), __('Do not display the Breadcrumbs on the Infobar', 'weaver-xtreme')), 'info_hide_pagenav' => weaverx_cz_checkbox_refresh(__('Hide Page Navigation', 'weaver-xtreme'), __('Do not display the numbered Page navigation on the Infobar', 'weaver-xtreme')), 'info_search' => array('setting' => array('sanitize_callback' => 'absint'), 'control' => array('label' => __('Show Search Box', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Include a Search box on the right.', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'checkbox')), 'info_addlogin' => array('setting' => array('sanitize_callback' => 'absint'), 'control' => array('label' => __('Show Log In', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Include a simple Log In link on the right.', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'checkbox'))));
     /**
      * Content
      */
     $visibility_sections['visibility-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('visibility for general page and post content.', 'weaver-xtreme'), 'options' => array('visibility-content-comments-heading' => weaverx_cz_group_title(__('Comments', 'weaver-xtreme'), __('Visibility settings for Comments area.', 'weaver-xtreme')), 'hide_old_comments' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Old Comments When Closed', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Hide previous comments after closing comments for page or post. (Default: show old comments after closing.)', 'weaver-xtreme'), 'type' => 'checkbox')), 'form_allowed_tags' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Show Allowed HTML', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Show the allowed HTML tags below comment input box.', 'weaver-xtreme'), 'type' => 'checkbox')), 'hide_comment_bubble' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Comment Title Icon', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Hide the comment icon (bubble) before the Comments title.', 'weaver-xtreme'), 'type' => 'checkbox')), 'hide_comment_hr' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Separator Above Comments', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Hide the (&lt;hr&gt;) separator line above the Comments area.', 'weaver-xtreme'), 'type' => 'checkbox')), 'visibility-content-comments-note' => weaverx_cz_heading(__('Hiding/Enabling Page and Post Comments', 'weaver-xtreme'), __('Controlling "Reply/Leave a Comment" visibility for pages and posts is <strong>not</strong> a theme function. It is controlled by WordPress on the <em>Settings &rarr; Discussion</em> menu.', 'weaver-xtreme'))));
     /**
      * Post Specific
      */
     $visibility_sections['visibility-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific visibility - override Content visibility.', 'weaver-xtreme'), 'options' => array('visibility-posts-metax-heading' => weaverx_cz_group_title(__('Post Meta Info Lines', 'weaver-xtreme')), 'post_info_hide_top' => weaverx_cz_checkbox_refresh(__('Hide top post meta info line', 'weaver-xtreme'), __('Hide entire top info line (posted on, by) of post.', 'weaver-xtreme')), 'post_info_hide_bottom' => weaverx_cz_checkbox_refresh(__('Hide bottom post meta info line', 'weaver-xtreme'), __('Hide entire bottom info line (posted in, comments) of post.', 'weaver-xtreme')), 'show_post_bubble' => weaverx_cz_checkbox_refresh(__('Show Comment Bubble', 'weaver-xtreme'), __('Show comment bubble with link to comments on the post info line.', 'weaver-xtreme')), 'show_post_avatar' => weaverx_cz_select(__('Show Author Avatar', 'weaver-xtreme'), __('Show author avatar on the post info line (also can be set per post with post editor).', 'weaver-xtreme'), 'weaverx_cz_choices_hide', 'hide', 'refresh'), 'visibility-posts-note-meta-heading' => weaverx_cz_heading(__('NOTE:', 'weaver-xtreme'), __('Hiding any meta info item will force using Icons instead of text descriptions.', 'weaver-xtreme')), 'post_hide_date' => weaverx_cz_checkbox_refresh(__('Hide Post Date', 'weaver-xtreme')), 'post_hide_author' => weaverx_cz_checkbox_refresh(__('Hide Post Author', 'weaver-xtreme')), 'post_hide_categories' => weaverx_cz_checkbox_refresh(__('Hide Post Categories', 'weaver-xtreme')), 'post_hide_tags' => weaverx_cz_checkbox_refresh(__('Hide Post Tags', 'weaver-xtreme')), 'hide_permalink' => weaverx_cz_checkbox_refresh(__('Hide Permalink', 'weaver-xtreme')), 'hide_singleton_category' => weaverx_cz_checkbox_refresh(__('Hide Category if Only One', 'weaver-xtreme'), __("If there is only one overall category defined (Uncategorized), don't show Category of post.", 'weaver-xtreme')), 'post_hide_single_author' => weaverx_cz_checkbox_refresh(__('Hide Author for Single Author Site', 'weaver-xtreme'), __("Hide author information if site has only a single author.", 'weaver-xtreme')), 'visibility-posts-nav-heading' => weaverx_cz_group_title(__('Post Navigation', 'weaver-xtreme')), 'visibility-posts-misc-heading' => weaverx_cz_group_title(__('Other Post Visibility Options', 'weaver-xtreme')), 'hide_post_format_icon' => array('setting' => array('sanitize_callback' => 'absint'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Post Format Icons', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the icons for posts with Post Format specified.', 'weaver-xtreme'), 'type' => 'checkbox')), 'show_comments_closed' => weaverx_cz_checkbox_refresh(__('Show "Comments are closed"', 'weaver-xtreme'), __('If comments are off, and no comments have been made, show the <em>Comments are closed.</em> message.', 'weaver-xtreme')), 'hide_author_bio' => weaverx_cz_checkbox_refresh(__('Hide Author Bio', 'weaver-xtreme'), __('Hide display of author bio box on Author Archive and Single Post page views.', 'weaver-xtreme'))));
     /**
      * Sidebars
      */
     $visibility_sections['visibility-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars &amp; Widget Areas', 'weaver-xtreme'), 'description' => __('Main Sidebars and Widget areas. Header and Footer areas options under Header and Footer panels.', 'weaver-xtreme'), 'options' => array('visibility-primary-widget-heading' => weaverx_cz_group_title(__('Primary Widget Area', 'weaver-xtreme')), 'primary_hide' => weaverx_cz_select(__('Hide Primary Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'visibility-secondary-widget-heading' => weaverx_cz_group_title(__('Secondary Widget Area', 'weaver-xtreme')), 'secondary_hide' => weaverx_cz_select(__('Hide Secondary Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'visibility-top-widget-heading' => weaverx_cz_group_title(__('Top Widget Areas', 'weaver-xtreme'), __('Properties for all Top Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme')), 'top_hide' => weaverx_cz_select(__('Hide Top Widget Areas', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'visibility-bottom-widget-heading' => weaverx_cz_group_title(__('Bottom Widget Areas', 'weaver-xtreme'), __('Properties for all Bottom Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme')), 'bottom_hide' => weaverx_cz_select(__('Hide Bottom Widget Areas', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh')));
     /**
      * Widgets
      */
     $visibility_sections['visibility-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'options' => array());
     /**
      * Footer
      */
     $visibility_sections['visibility-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array('footer_hide' => weaverx_cz_select(__('Hide Footer Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'footer_sb_hide' => weaverx_cz_select(__('Hide Footer Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'footer_html_hide' => weaverx_cz_select(__('Hide Footer HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), '_hide_poweredby' => weaverx_cz_checkbox_refresh(__('Hide Powered By tag', 'weaver-xtreme'), __('Hide the "Proudly powered by" notice in the footer. &diams;', 'weaver-xtreme'))));
     /**
      * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
      *
      * @since 1.3.0.
      *
      * @param array    $visibility_sections    The array of definitions.
      */
     $visibility_sections = apply_filters('weaverx_customizer_visibility_sections', $visibility_sections);
     // Merge with master array
     return array_merge($sections, $visibility_sections);
 }
コード例 #2
0
 /**
  * Define the sections and settings for the Layout panel
  */
 function weaverx_customizer_define_layout_sections($sections)
 {
     $panel = 'weaverx_layout';
     $layout_sections = array();
     /**
      * General
      */
     $layout_sections['layout-wrapping'] = array('panel' => $panel, 'title' => __('Wrapping Areas', 'weaver-xtreme'), 'options' => array());
     /**
      * Site Header
      */
     $layout_sections['layout-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('layout-heading-header' => weaverx_cz_heading(__('Site Header', 'weaver-xtreme')), 'header_sb_position' => array('setting' => array('transport' => 'refresh', 'default' => 'top'), 'control' => array('control_type' => WEAVERX_PLUS_SELECT_CONTROL, 'label' => __('Header Widget Area Position', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Change where Header Widget Area is displayed within the Header Area. You can move it to one of five positions in the Header.', 'weaver-xtreme'), 'type' => 'select', 'choices' => array('top' => __('Top of Header', 'weaver-xtreme'), 'before_header' => __('Before Header Image', 'weaver-xtreme'), 'after_header' => __('After Header Image', 'weaver-xtreme'), 'after_html' => __('After HTML Block', 'weaver-xtreme'), 'after_menu' => __('After Lower Menu', 'weaver-xtreme')))), 'header_sb_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Header Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-header-custom-widths' => weaverx_cz_heading(__('Header Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_header_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Header Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_header_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Header Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_header_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Header Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'hdr_sb_l1' => weaverx_cz_line(), 'header_sb_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('Header No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between  multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'header_sb_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Header Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Main Menu
      */
     $layout_sections['layout-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set layout for Menus.', 'weaver-xtreme'), 'options' => array('layout-primary-heading' => weaverx_cz_group_title(__('Layout For Primary Menu', 'weaver-xtreme')), 'm_primary_move' => array('setting' => array('transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Move Primary Menu to Top', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Move Primary Menu at Top of Header Area (Default: Bottom)', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-secondary-heading' => weaverx_cz_group_title(__('Layout For Secondary', 'weaver-xtreme')), 'm_secondary_move' => array('setting' => array('transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Move Secondary Menu to Bottom', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Move Secondary Menu at Bottom of Header Area (Default: Top)', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-allmenus-heading' => weaverx_cz_group_title(__('Layout For All Menus', 'weaver-xtreme'), __('These options that apply to all menus.', 'weaver-xtreme')), 'use_smartmenus' => array('setting' => array('transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Use SmartMenus', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Use <em>SmartMenus</em> rather than default Weaver Xtreme Menus. <em>SmartMenus</em> provide enhanced menu support, including auto-visibility, and transition effects. Applies to all menus. There are additional <em>Smart Menu</em> options available on the <em>Appearance &rarr; +Xtreme Plus</em> menu. Those options are not currently available on the Customizer Menu, but will be eventually.', 'weaver-xtreme'), 'type' => 'checkbox')), 'mobile_alt_switch' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 767), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Menu Mobile/Desktop Switch Point (px)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('<em>SmartMenus Only:</em> Set when menu bars switch from desktop to mobile. (Default: 767px. Hint: use 768 to force mobile menu on iPad portrait.)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 300, 'max' => 1200, 'step' => 1)))));
     $smart_options = array();
     /**
      * Info Bar
      */
     $layout_sections['layout-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar with breadcrumbs and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array());
     /**
      * Content
      */
     $layout_sections['layout-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('Layout for general page and post content.', 'weaver-xtreme'), 'options' => array('page_cols' => weaverx_cz_select(__('Content Columns', 'weaver-xtreme'), __('Automatically split all page content into columns. You can also use the Per Page option. This option does not apply to posts. (Content will displayed as 1 column on IE&lt;=9.)', 'weaver-xtreme'), 'weaverx_cz_choices_columns', '1', 'refresh'), 'hyphenate' => array('setting' => array('transport' => 'refresh'), 'control' => array('label' => __('Auto Hyphenate Content', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Allow browsers to automatically hyphenate text for appearance.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Post Specific
      */
     $layout_sections['layout-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific layout - override Content layout.', 'weaver-xtreme'), 'options' => array('post_cols' => weaverx_cz_select(__('Post Content Columns', 'weaver-xtreme'), __('Automatically split all post content into columns for both blog and single page views. <em>This is post content only.</em> This is not the same as "Columns of Posts". (Always 1 column on IE&lt;=9.)', 'weaver-xtreme'), 'weaverx_cz_choices_columns', '1', 'refresh'), 'blog_cols' => weaverx_cz_select(__('Columns of Posts', 'weaver-xtreme'), __('Display posts on blog page with this many columns. <em>Hint:</em> Adjust "Blog pages show at most n posts" on Settings:Reading to be a multiple of columns.', 'weaver-xtreme'), 'weaverx_cz_choices_post_columns', '1', 'refresh'), 'masonry_cols' => weaverx_cz_select(__('Use Masonry for Posts', 'weaver-xtreme'), __('Use the <em>Masonry</em> blog layout option to show dynamically packed posts on blog and archive-like pages. Overrides "Columns of Posts" setting.', 'weaver-xtreme'), 'weaverx_cz_choices_masonry_columns', '0', 'refresh'), 'archive_cols' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Use Columns on Archive Pages', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Display posts on archive-like pages using columns. (Archive, Author, Category, Tag)', 'weaver-xtreme'), 'type' => 'checkbox')), 'blog_first_one' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('First Post One Column', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Display the first post in one column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'blog_sticky_one' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Sticky Posts One Column', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Display opening Sticky Posts in one column. If First Post One Column also checked, then first non-sticky post will also be one column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'compact_post_formats' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Compact "Post Format" Posts', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Use compact layout for <em>Post Format</em> posts (Image, Gallery, Video, etc.). Useful for photo blogs and multi-column layouts. Looks great with <em>Masonry</em>.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-post-line1' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'reset_content_opts' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Clear Major Content Options', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('<em>ADVANCED OPTION!</em> Clear wrapping Content Area bg, borders, padding, and top/bottom margins for views with posts. Allows more flexible post styling. Most people will not need this.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-post-line2' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'layout-post-excerpt' => weaverx_cz_group_title(__('Excerpts / Full Posts', 'weaver-xtreme'), __('How to display posts in Blog and Archive views.', 'weaver-xtreme')), 'fullpost_blog' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Show Full Blog Posts', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Will display full blog post instead of excerpts on <em>blog pages</em>. Does not override manually added &lt;--more--> breaks.', 'weaver-xtreme'), 'type' => 'checkbox')), 'fullpost_archive' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Full Post for Archives', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'checkbox')), 'fullpost_search' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Full Post for Searches', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'checkbox')), 'excerpt_length' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 40), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Excerpt length', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Change post excerpt length.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 2, 'max' => 100, 'step' => 1))), 'layout-post-nav' => weaverx_cz_group_title(__('Post Navigation', 'weaver-xtreme'), __('Navigation for moving between Posts.', 'weaver-xtreme')), 'nav_style' => weaverx_cz_select(__('Blog Navigation Style', 'weaver-xtreme'), __('Style of navigation links on blog pages: "Older/Newer posts", "Previous/Next Post", or by page numbers.', 'weaver-xtreme'), 'weaverx_cz_choices_nav_style', 'old_new', 'refresh'), 'nav_hide_above' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Top Nav Links', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the blog navigation links at the top.', 'weaver-xtreme'), 'type' => 'checkbox')), 'nav_hide_below' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Bottom Nav Links', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the blog navigation links at the bottom.', 'weaver-xtreme'), 'type' => 'checkbox')), 'nav_show_first' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Show Top Nav on First Page', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Show navigation at top even on the first page.', 'weaver-xtreme'), 'type' => 'checkbox')), 'single_nav_style' => weaverx_cz_select(__('Single Page Navigation Style', 'weaver-xtreme'), __('Style of navigation links on post Single pages: Previous/Next, by title, or none.', 'weaver-xtreme'), 'weaverx_cz_choices_single_nav_style', 'title', 'refresh'), 'single_nav_link_cats' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Nav Links to Same Categories', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Single Page navigation links point to posts with same categories.', 'weaver-xtreme'), 'type' => 'checkbox')), 'single_nav_hide_above' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Top Nav Links', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the single page navigation links at the top.', 'weaver-xtreme'), 'type' => 'checkbox')), 'single_nav_hide_below' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Bottom Nav Links', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the single page navigation links at the bottom.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Sidebars
      */
     $layout_sections['layout-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars & Widget Areas', 'weaver-xtreme'), 'description' => __('Main Sidebars and Widget areas. Header and Footer areas options under Header and Footer panels. Note: General Sidebar Layout for different page types is shown first. Layout options for specific Widget Areas (Primary, Secondary, Top, Bottom) are shown after that, so scroll down!', 'weaver-xtreme'), 'options' => array('layout-primary-all-heading' => weaverx_cz_group_title(__('Sidebar Layout for Page Types', 'weaver-xtreme'), __('Sidebar Layout for each type of page ("stack top" used for mobile view).', 'weaver-xtreme')), 'layout_default' => weaverx_cz_select(__('Blog, Post, Page Default', 'weaver-xtreme'), __('Select the default theme layout for blog, single post, attachments, and pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout', 'right', 'refresh'), 'layout_default_archive' => weaverx_cz_select(__('Archive-like Default', 'weaver-xtreme'), __('Select the default theme layout for all other pages - archives, search, etc.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout', 'right', 'refresh'), 'layout_page' => weaverx_cz_select(__('Page', 'weaver-xtreme'), __('Layout for normal Pages on your site.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_blog' => weaverx_cz_select(__('Blog', 'weaver-xtreme'), __('Layout for main blog page. Includes "Page with Posts" Page templates.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_single' => weaverx_cz_select(__('Post Single Page', 'weaver-xtreme'), __('Layout for Posts displayed as a single page.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_attachments' => weaverx_cz_select_plus(__('Attachments', 'weaver-xtreme'), __('Layout for attachment pages such as images.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_archive' => weaverx_cz_select_plus(__('Date Archive', 'weaver-xtreme'), __('Layout for archive by date pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_category' => weaverx_cz_select_plus(__('Category Archive', 'weaver-xtreme'), __('Layout for category archive pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_tag' => weaverx_cz_select_plus(__('Tags Archive', 'weaver-xtreme'), __('Layout for tag archive pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_author' => weaverx_cz_select_plus(__('Author Archive', 'weaver-xtreme'), __('Layout for author archive pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_search' => weaverx_cz_select_plus(__('Search Results, 404', 'weaver-xtreme'), __('Layout for search results and 404 pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout-sb-line1' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'layout-primary-widget-heading' => weaverx_cz_group_title(__('Primary Widget Area', 'weaver-xtreme')), 'primary_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-primary-custom-widths' => weaverx_cz_heading(__('Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_primary_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_primary_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_primary_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'primary_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between  multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'primary_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-secondary-widget-heading' => weaverx_cz_group_title(__('Secondary Widget Area', 'weaver-xtreme')), 'secondary_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-secondary-custom-widths' => weaverx_cz_heading(__('Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_secondary_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_secondary_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_secondary_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'secondary_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'secondary_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-top-widget-heading' => weaverx_cz_group_title(__('Top Widget Areas', 'weaver-xtreme'), __('Properties for all Top Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme')), 'top_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-top-custom-widths' => weaverx_cz_heading(__('Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_top_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_top_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_top_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'top_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'top_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-bottom-widget-heading' => weaverx_cz_group_title(__('Bottom Widget Areas', 'weaver-xtreme'), __('Properties for all Bottom Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme')), 'bottom_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-bottom-custom-widths' => weaverx_cz_heading(__('Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_bottom_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_bottom_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_bottom_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'bottom_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'bottom_sb_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Widgets
      */
     $layout_sections['layout-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'options' => array());
     /**
      * Footer
      */
     $layout_sections['layout-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array('footer_sb_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Footer Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-footer-custom-widths' => weaverx_cz_heading(__('Footer Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_footer_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Footer Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_footer_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Footer Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_footer_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Footer Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'footer_sb_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('Footer No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between  multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'footer_sb_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Footer Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
      *
      * @since 1.3.0.
      *
      * @param array    $layout_sections    The array of definitions.
      */
     $layout_sections = apply_filters('weaverx_customizer_layout_sections', $layout_sections);
     // Merge with master array
     return array_merge($sections, $layout_sections);
 }
コード例 #3
0
    /**
     * Define the sections and settings for the Images panel
     */
    function weaverx_customizer_define_image_sections($sections)
    {
        global $wp_customize;
        $panel = 'weaverx_images';
        $image_sections = array();
        $wp_customize->get_section('header_image')->priority = 20000;
        $wp_customize->get_section('header_image')->title = __('Header Banner Images (WP Settings)', 'weaver-xtreme');
        $wp_customize->get_section('header_image')->panel = $panel;
        $wp_customize->get_section('background_image')->priority = 20100;
        $wp_customize->get_section('background_image')->title = __('Site BG Image (WP Settings)', 'weaver-xtreme');
        $wp_customize->get_section('background_image')->panel = $panel;
        /**
         * General
         */
        $image_sections['images-global'] = array('panel' => $panel, 'title' => __('Global Image Settings', 'weaver-xtreme'), 'description' => 'Set Image options for Site Wrapper &amp; Container. Use Colors to set colors.', 'options' => array('images-heading-global' => weaverx_cz_group_title(__('Global Image Settings', 'weaver-xtreme'), __('These settings control images in both the Container (including content and sidebars) and Footer Areas. They do not include the Header Area.', 'weaver-xtreme')), 'media_lib_border_color' => weaverx_cz_coloropt('media_lib_border_color', __('Image Border Color', 'weaver-xtreme'), __('Border color for images in Container and Footer.', 'weaver-xtreme')), 'media_lib_border_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Image Border Width (px)', 'weaver-xtreme'), 'description' => __('Border width for images in Container and Footer. There will be <strong>no</strong> borders unless you set this value above 0px.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 50, 'step' => 1))), 'show_img_shadows' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add Image Shadow', 'weaver-xtreme'), 'description' => __('Add a shadow to images in Container and Footer. Add custom CSS for custom shadow.', 'weaver-xtreme'), 'type' => 'checkbox')), 'restrict_img_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Restrict Borders to Media Library', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('For Container and Footer, restrict border and shadows to images from Media Library. Manually entered &lt;img&gt; HTML without Media Library classes will not have borders.', 'weaver-xtreme'), 'type' => 'checkbox')), 'media_lib_border_color_css' => weaverx_cz_css(__('Custom CSS for Images.', 'weaver-xtreme'), __('Note: this custom CSS will live-update for ALL images, even if the above Restrict Borders is checked.
The normal site view will respect the Restrict Borders setting.', 'weaver-xtreme')), 'caption_color' => weaverx_cz_coloropt('caption_color', __('Caption Text Color', 'weaver-xtreme'), __('Color of captions - e.g., below media images.', 'weaver-xtreme')), 'caption_color_css' => weaverx_cz_css(__('Custom CSS for Captions.', 'weaver-xtreme'))));
        /**
         * Site Header
         */
        $image_sections['images-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('images-heading-header' => weaverx_cz_heading(__('Site Header', 'weaver-xtreme')), 'header_image_max_width_dec' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 100.0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Maximum Image Width (%)', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Maximum width of Header Image. Can be useful to change Header Image alignment.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'header_actual_size' => weaverx_cz_checkbox(__('Use Actual Image Size', 'weaver-xtreme'), __('Check to use actual header image size. (Default: theme width)', 'weaver-xtreme'), 'plus'), 'header_image_align' => weaverx_cz_select_plus(__('Align Header Image', 'weaver-xtreme'), __('How to align header image - meaningful only when Max Width or Actual Size set.', 'weaver-xtreme'), 'weaverx_cz_choices_align', 'float-left', 'postMessage'), 'link_site_image' => weaverx_cz_checkbox_refresh(__('Header Image Links to Site', 'weaver-xtreme'), __('Check to add a link to site home page for Header Image. Note: If used with <em>Move Title/Tagline over Image</em>, parts of the header image will not be clickable.', 'weaver-xtreme')), 'header_image_height_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 188), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Suggested Header Image Height (px)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Change the suggested height of the Header Image. Standard size is 188. This height is only a suggestion, and only affects the clipping window on the Customizer <em>Images &rarr; Header Banner Images<em> panel after you refresh the whole Customize interface. Header images will always be responsively sized. (Default header image width: theme width)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 600, 'step' => 1))), 'images-heading-srch' => weaverx_cz_heading(__('Search Box Icon', 'weaver-xtreme'), __('The icon used in search boxes can be changed in the <em>Colors &rarr; Content</em> section.', 'weaver-xtreme')), 'images-heading-altimg' => weaverx_cz_heading(__('Alternate Header Images', 'weaver-xtreme'), __('You can specify alternate header images using the <em>Featured Image Location</em> option on the <em>Images</em> panel, as well as Per Page and Per Post options.', 'weaver-xtreme')), 'images-heading-logo-html' => weaverx_cz_heading(__('Site Logo/HTML', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('The site Logo/HTML is being deprecated. It is still accessible from the traditional Appearance settings interface.', 'weaver-xtreme'))));
        /**
         * Content
         */
        $image_sections['images-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('Images on page and post content.', 'weaver-xtreme'), 'options' => array('images-content-heading' => weaverx_cz_heading(__('General Image Settings', 'weaver-xtreme'), __('General image settings found on the <em>Global Image Settings</em> panel.', 'weaver-xtreme')), 'images-content-FI' => weaverx_cz_group_title(__('Featured Image - Pages', 'weaver-xtreme'), __('Display of Page Featured Images', 'weaver-xtreme')), 'page_fi_location' => weaverx_cz_select(__('Featured Image Location', 'weaver-xtreme'), __('Where to display Featured Image for Pages', 'weaver-xtreme'), 'weaverx_cz_choices_fi_location', 'content-top', 'refresh'), 'page_fi_align' => weaverx_cz_select(__('Align Featured Image', 'weaver-xtreme'), '', 'weaverx_cz_choices_fi_align', 'fi-alignleft', 'refresh'), 'page_fi_hide' => weaverx_cz_select(__('Hide Featured Image', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'page_fi_size' => weaverx_cz_select(__('Page Featured Image Size', 'weaver-xtreme'), __('Media Library Image Size for Featured Image on pages. (Header uses full size).', 'weaver-xtreme'), 'weaverx_cz_choices_fi_size', 'thumbnail', 'refresh'), 'page_fi_width' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Featured Image Width (%)', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Width of Featured Image on Pages. Max Width in %, overrides FI Size selection. Set to 0 to avoid overriding above Featured Image Size setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5)))));
        /**
         * Post Specific
         */
        $image_sections['images-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific Images - override Content Images.', 'weaver-xtreme'), 'options' => array('images-postspecific-heading' => weaverx_cz_heading(__('General Image Settings', 'weaver-xtreme'), __('General image settings found on the <em>Site Wrapper &amp; Container</em> panel.', 'weaver-xtreme')), 'post_avatar_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 28), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Author Avatar Size (px)', 'weaver-xtreme'), 'description' => __('Size of Author Avatar in px - only for Post Info line. (Default: 28px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 60, 'step' => 1))), 'images-content-FI-full' => weaverx_cz_group_title(__('Featured Image - Full Blog Posts', 'weaver-xtreme'), __('Display of Post Featured Images when Post is displayed as a Full Post.', 'weaver-xtreme')), 'post_full_fi_location' => weaverx_cz_select(__('Featured Image Location - Full Post', 'weaver-xtreme'), __('Where to display Featured Image.', 'weaver-xtreme'), 'weaverx_cz_choices_fi_location', 'content-top', 'refresh'), 'post_full_fi_align' => weaverx_cz_select(__('Align Featured Image - Full Post', 'weaver-xtreme'), '', 'weaverx_cz_choices_fi_align', 'fi-alignleft', 'refresh'), 'post_full_fi_hide' => weaverx_cz_select(__('Hide Featured Image - Full Post', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'post_full_fi_size' => weaverx_cz_select(__('Page Featured Image Size - Full Post', 'weaver-xtreme'), __('Media Library Image Size for Featured Image. (Header uses full size).', 'weaver-xtreme'), 'weaverx_cz_choices_fi_size', 'thumbnail', 'refresh'), 'post_full_fi_width' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Featured Image Width (%) - Full Post', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Width of Featured Image. Max Width in %, overrides FI Size selection. Set to 0 to avoid overriding above Featured Image Size setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5))), 'images-content-FI-excerpt' => weaverx_cz_group_title(__('Featured Image - Excerpt Posts', 'weaver-xtreme'), __('Display of Post Featured Images when Post is displayed as an Excerpt.', 'weaver-xtreme')), 'post_excerpt_fi_location' => weaverx_cz_select(__('Featured Image Location - Excerpt', 'weaver-xtreme'), __('Where to display Featured Image.', 'weaver-xtreme'), 'weaverx_cz_choices_fi_location', 'content-top', 'refresh'), 'post_excerpt_fi_align' => weaverx_cz_select(__('Align Featured Image - Excerpt', 'weaver-xtreme'), '', 'weaverx_cz_choices_fi_align', 'fi-alignleft', 'refresh'), 'post_excerpt_fi_hide' => weaverx_cz_select(__('Hide Featured Image - Excerpt', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'post_excerpt_fi_size' => weaverx_cz_select(__('Page Featured Image Size - Excerpt', 'weaver-xtreme'), __('Media Library Image Size for Featured Image. (Header uses full size).', 'weaver-xtreme'), 'weaverx_cz_choices_fi_size', 'thumbnail', 'refresh'), 'post_excerpt_fi_width' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Featured Image Width (%) - Excerpt', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Width of Featured Image. Max Width in %, overrides FI Size selection. Set to 0 to avoid overriding above Featured Image Size setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5))), 'images-content-FI-single' => weaverx_cz_group_title(__('Featured Image - Single Page', 'weaver-xtreme'), __('Display of Post Featured Images when Post is displayed on the Single Page.', 'weaver-xtreme')), 'post_fi_location' => weaverx_cz_select(__('Featured Image Location - Single Page', 'weaver-xtreme'), __('Where to display Featured Image.', 'weaver-xtreme'), 'weaverx_cz_choices_fi_location', 'content-top', 'refresh'), 'post_fi_align' => weaverx_cz_select(__('Align Featured Image - Single Page', 'weaver-xtreme'), '', 'weaverx_cz_choices_fi_align', 'fi-alignleft', 'refresh'), 'post_fi_hide' => weaverx_cz_select(__('Hide Featured Image - Single Page', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'post_fi_size' => weaverx_cz_select(__('Page Featured Image Size - Single Page', 'weaver-xtreme'), __('Media Library Image Size for Featured Image. (Header uses full size).', 'weaver-xtreme'), 'weaverx_cz_choices_fi_size', 'thumbnail', 'refresh'), 'post_fi_width' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Featured Image Width (%) - Single Page', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Width of Featured Image. Max Width in %, overrides FI Size selection. Set to 0 to avoid overriding above Featured Image Size setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5)))));
        /**
         * Footer
         */
        $image_sections['images-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array());
        /**
         * Background Images
         */
        $image_sections['images-background'] = array('panel' => $panel, 'title' => __('Background', 'weaver-xtreme'), 'options' => array('_bg_fullsite_url' => array('setting' => array('transport' => 'postMessage', 'sanitize_callback' => 'esc_url_raw'), 'control' => array('control_type' => WEAVERX_PLUS_IMAGE_CONTROL, 'label' => __('Full Screen Site BG Image', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Full screen centered auto-sized BG image. &diams;', 'weaver-xtreme'))), 'images-background-css-help' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_MISC_CONTROL, 'label' => __('Additional CSS for BG Images', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'type' => 'HTML', 'description' => '<small>' . __('Use the <em>Additional CSS</em> option to specify additional background CSS options, each ending with a semi-colon (;).
Valid options include: background-position, background-size, background-origin, background-clip, and background-attachment. Useful example: <code>background-size: 100% auto;</code> - makes bg image full width of container, height depends on container. See this <a href="http://www.w3schools.com/cssref/css3_pr_background.asp" title="background CSS" target="_blank">W3 Schools page</a> for more information about background styling.', 'weaver-xtreme') . '</small>'))));
        if (true) {
            $new_opts = weaverx_cz_add_image('body', __('Site BG Image', 'weaver-xtreme'), __('Background image for entire site (body)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('wrapper', __('Wrapper BG Image', 'weaver-xtreme'), __('Background image for outer wrapper (#wrapper)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('header', __('Header BG Image', 'weaver-xtreme'), __('Background image for header (#header)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('container', __('Container BG Image', 'weaver-xtreme'), __('Background image for Container - (#container)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('content', __('Content BG Image', 'weaver-xtreme'), __('Background image for Content - wraps page/post area (#content)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('page', __('Page content BG Image', 'weaver-xtreme'), __('Background image for Page content area (#content .page)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('post', __('Post BG Image', 'weaver-xtreme'), __('Background image for Post content area (#content .post)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('widgets_primary', __('Primary Sidebar Area BG Image', 'weaver-xtreme'), __('Background image for primary widget area (#primary-widget-area)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('widgets_secondary', __('Secondary Sidebar Areas BG Image', 'weaver-xtreme'), __('Background image for secondary widget areas (#secondary-widget-area)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('footer', __('Footer BG Image', 'weaver-xtreme'), __('Background image for Footer area (#colophon)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
        }
        /**
         * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
         *
         * @since 1.3.0.
         *
         * @param array    $image_sections    The array of definitions.
         */
        $image_sections = apply_filters('weaverx_customizer_image_sections', $image_sections);
        // Merge with master array
        return array_merge($sections, $image_sections);
    }
コード例 #4
0
 /**
  * Define the sections and settings for the style panel
  *
  */
 function weaverx_customizer_define_style_sections($sections)
 {
     $panel = 'weaverx_style';
     $style_sections = array();
     define('WEAVERX_ROUNDED_TRANSPORT', 'postMessage');
     // global settings
     $style_sections['style-global'] = array('panel' => $panel, 'title' => __('Global Style Options', 'weaver-xtreme'), 'description' => 'Set some global settings that affect style.', 'options' => array('border_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => '#222222'), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Border Color...', 'weaver-xtreme'), 'description' => __('Color for all borders.', 'weaver-xtreme'))), 'border_width_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Border Width (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 20, 'step' => 1))), 'border_style' => weaverx_cz_select_plus(__('Border Style', 'weaver-xtreme'), __('Style of borders - width needs to be > 1 and color other than black for some styles to work correctly.', 'weaver-xtreme'), 'weaverx_cz_choices_border_style', 'solid', 'refresh'), 'rounded_corners_radius' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 8), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Corner Radius (px)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Controls how "round" corners are. Specify a value (5 to 15 look best) for corner radius.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 20, 'step' => 1))), 'custom_shadow' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_css', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXTAREA_CONTROL, 'label' => __('Custom Shadow', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('This defines the "Custom Shadow" shown on the <em>Add shadow</em> options. You will have to select "Custom Shadow" to use the shadow style you define here. Specify full <em>box-shadow</em> CSS rule.', 'weaver-xtreme'), 'type' => 'textarea', 'input_attrs' => array('rows' => '1', 'placeholder' => __('{box-shadow: 0 0 3px 1px rgba(0,0,0,0.25);} /* for example */', 'weaver-xtreme'))))));
     /**
      * General
      */
     $style_sections['style-wrapping'] = array('panel' => $panel, 'title' => __('Wrapping Areas', 'weaver-xtreme'), 'description' => 'Set borders, shadows, and rounded corners for main Wrapper and Container wrapping areas.', 'options' => array('wrapper-style-genopts' => weaverx_cz_group_title(__('General Style Global Options', 'weaver-xtreme'), __('These settings control global attributes of borders, etc.', 'weaver-xtreme')), 'wrapper-style-heading' => weaverx_cz_group_title(__('Wrapper Area', 'weaver-xtreme'), __('The Wrapper is the &lt;div&gt; that wraps entire site.', 'weaver-xtreme')), 'wrapper_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'wrapper_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'wrapper_rounded' => weaverx_cz_select(__('Rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'container-style-heading' => weaverx_cz_group_title(__('Container Area', 'weaver-xtreme'), __('The Container is the &lt;div&gt; that wraps site content areas, including sidebars. Does not include Header and Footer.', 'weaver-xtreme')), 'container_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'container_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'container_rounded' => weaverx_cz_select(__('Rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Site Header
      */
     $style_sections['style-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('style-heading-header' => weaverx_cz_group_title(__('Site Header Area Borders', 'weaver-xtreme')), 'header_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to entire Header Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'header_sb_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Header Widget Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'header_html_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Header HTML Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'style-shadow-header' => weaverx_cz_group_title(__('Site Header Area Shadows', 'weaver-xtreme')), 'header_shadow' => weaverx_cz_select(__('Add shadow to header', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'header_sb_shadow' => weaverx_cz_select(__('Add shadow to Header Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'header_html_shadow' => weaverx_cz_select(__('Add shadow to Header HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'style-rounded-header' => weaverx_cz_group_title(__('Site Header Rounded Corners', 'weaver-xtreme'), __('Note that rounded corners require borders or bg color to show, and interact with surrounding areas. You may have to set several options to get rounded corners to display.', 'weaver-xtreme')), 'header_rounded' => weaverx_cz_select(__('Add rounded corners to Header Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'header_sb_rounded' => weaverx_cz_select(__('Add rounded corners to Header Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'header_html_rounded' => weaverx_cz_select(__('Add rounded corners to Header HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Main Menu
      */
     $style_sections['style-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set style for Menus.', 'weaver-xtreme'), 'options' => array('style-mm-heading' => weaverx_cz_group_title(__('Primary Menu', 'weaver-xtreme')), 'm_primary_sub_border' => weaverx_cz_checkbox(__('Add border to Primary Menu bar', 'weaver-xtreme')), 'm_primary_sub_border' => weaverx_cz_checkbox(__('Add border to Sub-Menus', 'weaver-xtreme')), 'm_primary_shadow' => weaverx_cz_select(__('Add shadow to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'm_primary_sub_noshadow' => weaverx_cz_heading(__('Add Shadow to Sub-Menus', 'weaver-xtreme'), __('Sub-Menus do <em>not</em> support shadows.', 'weaver-xtreme')), 'm_primary_rounded' => weaverx_cz_select(__('Add rounded corners to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'm_primary_sub_rounded' => weaverx_cz_checkbox_refresh(__('Rounded Primary Sub-Menu corners', 'weaver-xtreme')), 'style-sm-line1' => weaverx_cz_line(), 'style-sm-heading' => weaverx_cz_group_title(__('Secondary Menu', 'weaver-xtreme')), 'm_secondary_sub_border' => weaverx_cz_checkbox(__('Add border to Secondary Menu bar', 'weaver-xtreme')), 'm_secondary_sub_border' => weaverx_cz_checkbox(__('Add border to Sub-Menus', 'weaver-xtreme')), 'm_secondary_shadow' => weaverx_cz_select(__('Add shadow to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'm_secondary_sub_noshadow' => weaverx_cz_heading(__('Add Shadow to Sub-Menus', 'weaver-xtreme'), __('Sub-Menus do <em>not</em> support shadows.', 'weaver-xtreme')), 'm_secondary_rounded' => weaverx_cz_select(__('Add rounded corners to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'm_secondary_sub_rounded' => weaverx_cz_checkbox_refresh(__('Rounded Secondary Sub-Menu corners', 'weaver-xtreme')), 'style-sm-line2' => weaverx_cz_line(), 'style-allmenus-heading' => weaverx_cz_group_title(__('Style For All Menus', 'weaver-xtreme'), __('These options specify current page attributes for all menus.', 'weaver-xtreme')), 'placeholder_cursor' => weaverx_cz_select(__('Placeholder Menu Hover Cursor', 'weaver-xtreme'), __('Cursor :hover attribute for placeholder menu items (only with Custom Menu Items with URL==#).', 'weaver-xtreme'), 'weaverx_cz_choices_pointer', 'pointer', 'refresh')));
     if (weaverx_cz_is_plus()) {
         $new_opts = array('style-xm-line1' => weaverx_cz_line(), 'style-xm-heading' => weaverx_cz_group_title(__('Extra Menu', 'weaver-xtreme')), 'm_extra_sub_border' => weaverx_cz_checkbox(__('Add border to Extra Menu bar', 'weaver-xtreme')), 'm_extra_sub_border' => weaverx_cz_checkbox(__('Add border to Sub-Menus', 'weaver-xtreme')), 'm_extra_shadow' => weaverx_cz_select(__('Add shadow to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'm_extra_sub_noshadow' => weaverx_cz_heading(__('Add Shadow to Sub-Menus', 'weaver-xtreme'), __('Sub-Menus do <em>not</em> support shadows.', 'weaver-xtreme')), 'm_extra_rounded' => weaverx_cz_select(__('Add rounded corners to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'm_extra_sub_rounded' => weaverx_cz_checkbox_refresh(__('Rounded Extra Sub-Menu corners', 'weaver-xtreme')));
     } else {
         $new_opts = weaverx_cz_add_plus_message('spacing_menus', __('Extra Menu', 'weaver-xtreme'), __('Add extra menus with <strong>Weaver Xtreme Plus</strong>.', 'weaver-xtreme'));
     }
     // add stub or extra menu options
     $style_sections['style-menus']['options'] = array_merge($style_sections['style-menus']['options'], $new_opts);
     /**
      * Info Bar
      */
     $style_sections['style-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar with breadcrumb and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array('infobar_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Info Bar', 'weaver-xtreme'), 'type' => 'checkbox')), 'infobar_shadow' => weaverx_cz_select(__('Add shadow to Info Bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'infobar_rounded' => weaverx_cz_select(__('Add rounded corners to Info Bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Content
      */
     $style_sections['style-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('style for general page and post content.', 'weaver-xtreme'), 'options' => array('content_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Content Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'content_shadow' => weaverx_cz_select(__('Add shadow to Content Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'content_rounded' => weaverx_cz_select(__('Add rounded corners to Content Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'page_title_underline_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bar under Page Title (px)', 'weaver-xtreme'), 'description' => __('Enter size in px if you want a bar under Page Titles. Leave 0 for no bar. Color matches title.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 20, 'step' => 1))), 'contentlist_bullet' => weaverx_cz_select(__('Content List Bullet Style', 'weaver-xtreme'), __('Bullet used for Unordered Lists in Content.', 'weaver-xtreme'), 'weaverx_cz_choices_list_bullets', 'disc', 'postMessage'), 'weaverx_tables' => weaverx_cz_select(__('Table Style', 'weaver-xtreme'), __('Style used for tables in content. <span style="font-weigiht:bold;color:red;">WARNING!</span> Tables are inherently non-responsive, and <em>do not</em> work well for mobile devices. We advise you to avoid using tables.', 'weaver-xtreme'), 'weaverx_cz_choices_tables', 'default', 'refresh'), 'show_comment_borders' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Show Borders on Comments', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Show Borders around comment sections - improves visual look of comments.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Post Specific
      */
     $style_sections['style-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific style - override Content style.', 'weaver-xtreme'), 'options' => array('post_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Posts', 'weaver-xtreme'), 'type' => 'checkbox')), 'post_shadow' => weaverx_cz_select(__('Add shadow to posts', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'post_rounded' => weaverx_cz_select(__('Add rounded corners to posts', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'post_icons' => weaverx_cz_select(__('Text or Icons for Post Info', 'weaver-xtreme'), __('Use Icons instead of Text descriptions in Post Meta Info. You can specify a color for the Font Icons on the <em>Color &rarr; Post Specific</em> panel.', 'weaver-xtreme'), 'weaverx_cz_choices_post_icons', 'text', 'refresh'), 'post_title_underline_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bar under Post Titles (px)', 'weaver-xtreme'), 'description' => __('Enter size in px if you want a bar under Post Titles. Leave 0 for no bar. Color matches title.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 20, 'step' => 1)))));
     /**
      * Sidebars
      */
     $style_sections['style-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars &amp; Widget Areas', 'weaver-xtreme'), 'description' => __('Style for Main Sidebars and Widget areas.', 'weaver-xtreme'), 'options' => array('style-primary-widget-heading' => weaverx_cz_group_title(__('Primary Widget Area', 'weaver-xtreme')), 'primary_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'primary_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'primary_rounded' => weaverx_cz_select(__('Add rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'style-secondary-widget-heading' => weaverx_cz_group_title(__('Secondary Widget Area', 'weaver-xtreme')), 'secondary_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'secondary_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'secondary_rounded' => weaverx_cz_select(__('Add rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'style-top-widget-heading' => weaverx_cz_group_title(__('Top Widget Areas', 'weaver-xtreme'), __('Properties for all Top Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme')), 'top_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'top_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'top_rounded' => weaverx_cz_select(__('Add rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'style-bottom-widget-heading' => weaverx_cz_group_title(__('Bottom Widget Areas', 'weaver-xtreme'), __('Properties for all Bottom Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme')), 'bottom_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'bottom_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'bottom_rounded' => weaverx_cz_select(__('Add rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Widgets
      */
     $style_sections['style-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'description' => __('Styling for individual widgets.', 'weaver-xtreme'), 'options' => array('widget_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'widget_shadow' => weaverx_cz_select(__('Add shadow to Individual Widgets', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'widget_rounded' => weaverx_cz_select(__('Rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'widget_title_underline_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bar under Widget Titles (px)', 'weaver-xtreme'), 'description' => __('Enter size in px if you want a bar under Widget Titles. Leave 0 for no bar. Color matches title.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 20, 'step' => 1))), 'widgetlist_bullet' => weaverx_cz_select(__('Widget List Bullet', 'weaver-xtreme'), __('Bullet used for Unordered Lists in Widget areas.', 'weaver-xtreme'), 'weaverx_cz_choices_list_bullets', 'disc', 'postMessage')));
     /**
      * Footer
      */
     $style_sections['style-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array('style-footer-heading' => weaverx_cz_group_title(__('Footer Borders', 'weaver-xtreme')), 'footer_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Footer Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'footer_sb_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Footer Widget Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'footer_html_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Footer HTML Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'style-footer-shadow-heading' => weaverx_cz_group_title(__('Footer Shadows', 'weaver-xtreme')), 'footer_shadow' => weaverx_cz_select(__('Add shadow to Footer Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'footer_sb_shadow' => weaverx_cz_select(__('Add shadow to Footer Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'footer_html_shadow' => weaverx_cz_select(__('Add shadow to HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'style-footer-rounded-heading' => weaverx_cz_group_title(__('Footer Rounded Corners', 'weaver-xtreme')), 'footer_rounded' => weaverx_cz_select(__('Add rounded corners to Footer Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'footer_sb_rounded' => weaverx_cz_select(__('Add rounded corners to Footer Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'footer_html_rounded' => weaverx_cz_select(__('Add rounded corners to Footer HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
      *
      * @since 1.3.0.
      *
      * @param array    $style_sections    The array of definitions.
      */
     $style_sections = apply_filters('weaverx_customizer_style_sections', $style_sections);
     // Merge with master array
     return array_merge($sections, $style_sections);
 }