oont-contents/plugins/astra-addon/addons/sticky-header/classes/sections/class-astra-sticky-header-configs.php
2025-02-08 15:10:23 +01:00

1792 lines
70 KiB
PHP

<?php
/**
* Sticky Header Options for our theme.
*
* @package Astra Addon
* @link https://www.brainstormforce.com
* @since 1.0.0
*/
// Block direct access to the file.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Bail if Customizer config base class does not exist.
if ( ! class_exists( 'Astra_Customizer_Config_Base' ) ) {
return;
}
if ( ! class_exists( 'Astra_Sticky_Header_Configs' ) ) {
/**
* Register Sticky Header Customizer Configurations.
*/
// @codingStandardsIgnoreStart
class Astra_Sticky_Header_Configs extends Astra_Customizer_Config_Base {
// phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound
// @codingStandardsIgnoreEnd
/**
* Register Sticky Header Customizer Configurations.
*
* @param Array $configurations Astra Customizer Configurations.
* @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager.
* @since 1.4.3
* @return Array Astra Customizer Configurations with updated configurations.
*/
public function register_configuration( $configurations, $wp_customize ) {
$header_above_section = 'section-sticky-header';
$header_below_section = 'section-sticky-header';
$header_primary_section = 'section-sticky-header';
$header_primary_color_priority = 85;
if ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) {
$header_above_section = 'section-above-header-builder';
$header_below_section = 'section-below-header-builder';
$header_primary_section = 'section-primary-header-builder';
$header_primary_color_priority = 85;
}
$_config = array(
/**
* Option: Sticky Header Primary Divider
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[divider-section-sticky-primary-header]',
'type' => 'control',
'control' => 'ast-heading',
'section' => 'section-sticky-header',
'title' => __( 'Primary Header Colors', 'astra-addon' ),
'settings' => array(),
'priority' => 80,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Stick Primary Header
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[header-main-stick]',
'default' => astra_get_option( 'header-main-stick' ),
'type' => 'control',
'section' => 'section-sticky-header',
'title' => __( 'Stick Primary Header', 'astra-addon' ),
'priority' => 10,
'control' => Astra_Theme_Extension::$switch_control,
'transport' => 'refresh',
),
array(
'name' => ASTRA_THEME_SETTINGS . '[different-sticky-logo]',
'default' => astra_get_option( 'different-sticky-logo' ),
'type' => 'control',
'section' => 'section-sticky-header',
'title' => __( 'Different Logo for Sticky Header?', 'astra-addon' ),
'priority' => 15,
'control' => Astra_Theme_Extension::$switch_control,
),
/**
* Option: Sticky header logo selector
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-logo]',
'default' => astra_get_option( 'sticky-header-logo' ),
'type' => 'control',
'control' => 'image',
'section' => 'section-sticky-header',
'priority' => 16,
'title' => __( 'Sticky Logo', 'astra-addon' ),
'library_filter' => array( 'gif', 'jpg', 'jpeg', 'png', 'ico' ),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[different-sticky-logo]',
'operator' => '==',
'value' => 1,
),
),
),
/**
* Option: Different retina logo
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[different-sticky-retina-logo]',
'default' => astra_get_option( 'different-sticky-retina-logo' ),
'type' => 'control',
'section' => 'section-sticky-header',
'title' => __( 'Different Logo for retina devices?', 'astra-addon' ),
'priority' => 20,
'control' => Astra_Theme_Extension::$switch_control,
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[different-sticky-logo]',
'operator' => '==',
'value' => 1,
),
),
'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ),
),
/**
* Option: Sticky header logo selector
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-retina-logo]',
'default' => astra_get_option( 'sticky-header-retina-logo' ),
'type' => 'control',
'control' => 'image',
'section' => 'section-sticky-header',
'priority' => 21,
'title' => __( 'Sticky Retina Logo', 'astra-addon' ),
'library_filter' => array( 'gif', 'jpg', 'jpeg', 'png', 'ico' ),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[different-sticky-logo]',
'operator' => '==',
'value' => 1,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[different-sticky-retina-logo]',
'operator' => '==',
'value' => 1,
),
),
),
/**
* Option: Sticky header logo width
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-logo-width]',
'default' => astra_get_option( 'sticky-header-logo-width' ),
'type' => 'control',
'transport' => 'postMessage',
'control' => 'ast-responsive-slider',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ),
'section' => 'section-sticky-header',
'priority' => 25,
'suffix' => 'px',
'title' => __( 'Sticky Logo Width', 'astra-addon' ),
'input_attrs' => array(
'min' => 50,
'step' => 1,
'max' => 600,
),
'context' => array(
'relation' => 'AND',
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[different-sticky-logo]',
'operator' => '==',
'value' => 1,
),
),
'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ),
),
/**
* Option: Shrink Primary Header
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[header-main-shrink]',
'default' => astra_get_option( 'header-main-shrink' ),
'type' => 'control',
'section' => 'section-sticky-header',
'title' => __( 'Enable Shrink Effect', 'astra-addon' ),
'priority' => 13.1,
'control' => Astra_Theme_Extension::$switch_control,
'description' => __( 'It will shrink the sticky header height, logo, and menu size. Sticky header will display in a compact size.', 'astra-addon' ),
),
/**
* Option: Hide on scroll
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-hide-on-scroll]',
'default' => astra_get_option( 'sticky-hide-on-scroll' ),
'type' => 'control',
'section' => 'section-sticky-header',
'title' => __( 'Hide When Scrolling Down', 'astra-addon' ),
'priority' => 13.2,
'control' => Astra_Theme_Extension::$switch_control,
),
/**
* Option: Enable disable mobile header
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-style]',
'default' => astra_get_option( 'sticky-header-style' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$selector_control,
'section' => 'section-sticky-header',
'priority' => 40,
'title' => __( 'Select Animation', 'astra-addon' ),
'choices' => array(
'none' => __( 'None', 'astra-addon' ),
'slide' => __( 'Slide', 'astra-addon' ),
'fade' => __( 'Fade', 'astra-addon' ),
),
'context' => array(
array(
'setting' => ASTRA_THEME_SETTINGS . '[sticky-hide-on-scroll]',
'operator' => '!=',
'value' => 1,
),
),
'transport' => 'refresh',
'responsive' => false,
'renderAs' => 'text',
'divider' => array( 'ast_class' => 'ast-top-section-divider' ),
),
/**
* Option: Sticky Header Display On
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-on-devices]',
'default' => astra_get_option( 'sticky-header-on-devices' ),
'type' => 'control',
'section' => 'section-sticky-header',
'priority' => 50,
'title' => __( 'Enable On', 'astra-addon' ),
'control' => Astra_Theme_Extension::$selector_control,
'choices' => array(
'desktop' => __( 'Desktop', 'astra-addon' ),
'mobile' => __( 'Mobile', 'astra-addon' ),
'both' => __( 'Desktop + Mobile', 'astra-addon' ),
),
'responsive' => false,
'renderAs' => 'text',
'divider' => array( 'ast_class' => 'ast-top-section-divider' ),
),
/**
* Option: Sticky Header Button Colors Divider
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-button-color-divider]',
'type' => 'control',
'control' => 'ast-heading',
'section' => 'section-sticky-header',
'title' => __( 'Header Button', 'astra-addon' ),
'settings' => array(),
'priority' => 55,
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-main-rt-section]',
'operator' => '==',
'value' => 'button',
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-main-rt-section-button-style]',
'operator' => '===',
'value' => 'custom-button',
),
),
),
/**
* Group: Theme Button Colors Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-button-color-group]',
'default' => astra_get_option( 'sticky-header-button-color-group' ),
'type' => 'control',
'control' => 'ast-settings-group',
'title' => __( 'Colors', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 55,
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-main-rt-section]',
'operator' => '==',
'value' => 'button',
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-main-rt-section-button-style]',
'operator' => '===',
'value' => 'custom-button',
),
),
),
/**
* Group: Theme Button Border Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-button-border-group]',
'default' => astra_get_option( 'sticky-header-button-border-group' ),
'type' => 'control',
'control' => 'ast-settings-group',
'title' => __( 'Border', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 55,
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-main-rt-section]',
'operator' => '==',
'value' => 'button',
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-main-rt-section-button-style]',
'operator' => '===',
'value' => 'custom-button',
),
),
),
);
if ( self::is_header_section_active() ) {
$_new_configs = array(
/**
* Option: Sticky Header Above Divider
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[divider-section-sticky-above-header]',
'type' => 'control',
'control' => 'ast-heading',
'section' => 'section-sticky-header',
'title' => __( 'Above Header Colors', 'astra-addon' ),
'settings' => array(),
'priority' => 60,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header Below Divider
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[divider-section-sticky-below-header]',
'type' => 'control',
'control' => 'ast-heading',
'section' => 'section-sticky-header',
'title' => __( 'Below Header Colors', 'astra-addon' ),
'settings' => array(),
'priority' => 110,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
);
if ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) {
$sticky_individual_configs = array(
/**
* Option: Sticky Above Header Heading
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-above-header-options]',
'type' => 'control',
'control' => 'ast-heading',
'section' => $header_above_section,
'title' => __( 'Sticky Header Option', 'astra-addon' ),
'settings' => array(),
'priority' => 80,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
),
/**
* Option: Sticky Below Header Heading
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-below-header-options]',
'type' => 'control',
'control' => 'ast-heading',
'section' => $header_below_section,
'title' => __( 'Sticky Header Option', 'astra-addon' ),
'settings' => array(),
'priority' => 80,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Primary Header Heading
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-primary-header-options]',
'type' => 'control',
'control' => 'ast-heading',
'section' => $header_primary_section,
'title' => __( 'Sticky Header Option', 'astra-addon' ),
'settings' => array(),
'priority' => 80,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
// Option: Site Title Color.
array(
'name' => 'sticky-header-builder-site-title-color',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-site-identity-title-color-group]',
'section' => 'title_tagline',
'type' => 'sub-control',
'control' => 'ast-color',
'default' => astra_get_option( 'sticky-header-builder-site-title-color' ),
'title' => __( 'Normal', 'astra-addon' ),
),
// Option: Site Title Hover Color.
array(
'name' => 'sticky-header-builder-site-title-h-color',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-site-identity-title-color-group]',
'section' => 'title_tagline',
'type' => 'sub-control',
'control' => 'ast-color',
'default' => astra_get_option( 'sticky-header-builder-site-title-h-color' ),
'title' => __( 'Hover', 'astra-addon' ),
),
// Option: Logo SVG Icon Color.
array(
'name' => 'sticky-logo-svg-icon-color',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-logo-svg-icon-color-group]',
'section' => 'title_tagline',
'type' => 'sub-control',
'control' => 'ast-color',
'default' => astra_get_option( 'sticky-logo-svg-icon-color' ),
'title' => __( 'Normal', 'astra-addon' ),
),
// Option: Logo SVG Icon Hover Color.
array(
'name' => 'sticky-logo-svg-icon-hover-color',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-logo-svg-icon-color-group]',
'section' => 'title_tagline',
'type' => 'sub-control',
'control' => 'ast-color',
'default' => astra_get_option( 'sticky-logo-svg-icon-hover-color' ),
'title' => __( 'Hover', 'astra-addon' ),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-bg-color-responsive]',
'default' => astra_get_option( 'sticky-header-bg-color-responsive' ),
'type' => 'control',
'section' => $header_primary_section,
'priority' => $header_primary_color_priority,
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'title' => __( 'Background Color', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
'divider' => array( 'ast_class' => 'ast-section-spacing ast-bottom-section-divider' ),
),
/**
* Option: Sticky Background Blur.
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-bg-blur]',
'default' => astra_get_option( 'sticky-header-bg-blur' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$switch_control,
'section' => $header_primary_section,
'priority' => $header_primary_color_priority,
'title' => __( 'Background Blur', 'astra-addon' ),
'description' => __( 'Background blur is dependent on the background color opacity', 'astra-addon' ),
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Background Blur Intensity.
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-bg-blur-intensity]',
'default' => astra_get_option( 'sticky-header-bg-blur-intensity' ),
'type' => 'control',
'section' => $header_primary_section,
'priority' => $header_primary_color_priority,
'title' => __( 'Background Blur Intensity', 'astra-addon' ),
'control' => 'ast-slider',
'suffix' => 'px',
'context' => array(
( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab_config : astra_addon_builder_helper()->general_tab_config,
'relation' => 'AND',
array(
'setting' => ASTRA_THEME_SETTINGS . '[sticky-header-bg-blur]',
'operator' => '==',
'value' => true,
),
),
'input_attrs' => array(
'min' => 1,
'step' => 1,
'max' => 20,
),
'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ),
),
);
array_push(
$sticky_individual_configs,
/**
* Option: Sticky Site Identity Heading
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-site-identity-options]',
'type' => 'control',
'control' => 'ast-heading',
'section' => 'title_tagline',
'title' => __( 'Sticky Header Options', 'astra-addon' ),
'settings' => array(),
'priority' => 20,
'context' => array(
'relation' => 'AND',
astra_addon_builder_helper()->design_tab_config,
array(
'relation' => 'OR',
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-title-responsive]',
'setting-key' => 'desktop',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-title-responsive]',
'setting-key' => 'tablet',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-title-responsive]',
'setting-key' => 'mobile',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-tagline-responsive]',
'setting-key' => 'desktop',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-tagline-responsive]',
'setting-key' => 'tablet',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-tagline-responsive]',
'setting-key' => 'mobile',
'operator' => '==',
'value' => true,
),
),
),
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
),
// Option: Sticky header logo colot.
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-builder-logo-color]',
'default' => astra_get_option( 'sticky-header-builder-logo-color' ),
'type' => 'control',
'control' => 'ast-color',
'title' => __( 'Logo Color', 'astra-addon' ),
'section' => 'title_tagline',
'priority' => 21,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
'context' => array(
astra_addon_builder_helper()->design_tab_config,
),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-site-identity-title-color-group]',
'default' => astra_get_option( 'sticky-site-identity-title-color-group' ),
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Title Color', 'astra-addon' ),
'section' => 'title_tagline',
'transport' => 'postMessage',
'priority' => 21,
'context' => array(
astra_addon_builder_helper()->design_tab_config,
array(
'relation' => 'OR',
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-title-responsive]',
'setting-key' => 'desktop',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-title-responsive]',
'setting-key' => 'tablet',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-title-responsive]',
'setting-key' => 'mobile',
'operator' => '==',
'value' => true,
),
),
),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-logo-svg-icon-color-group]',
'default' => astra_get_option( 'sticky-logo-svg-icon-color-group' ),
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Logo SVG Icon Color', 'astra-addon' ),
'section' => 'title_tagline',
'responsive' => false,
'transport' => 'postMessage',
'priority' => 21,
'context' => array(
array(
'setting' => 'custom_logo',
'operator' => '==',
'value' => false,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[use-logo-svg-icon]',
'operator' => '==',
'value' => true,
),
astra_addon_builder_helper()->design_tab_config,
),
),
// Option: Site Tagline Color.
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-builder-site-tagline-color]',
'type' => 'control',
'control' => 'ast-color',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ),
'priority' => 22,
'transport' => 'postMessage',
'default' => astra_get_option( 'sticky-header-builder-site-tagline-color' ),
'title' => __( 'Tagline', 'astra-addon' ),
'section' => 'title_tagline',
'context' => array(
astra_addon_builder_helper()->design_tab_config,
array(
'relation' => 'OR',
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-tagline-responsive]',
'setting-key' => 'desktop',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-tagline-responsive]',
'setting-key' => 'tablet',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[display-site-tagline-responsive]',
'setting-key' => 'mobile',
'operator' => '==',
'value' => true,
),
),
),
)
);
$sticky_header_woo_cart_context = array(
'relation' => 'AND',
astra_addon_builder_helper()->design_tab_config,
array(
'relation' => 'OR',
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-above-stick]',
'operator' => '==',
'value' => 1,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-main-stick]',
'operator' => '==',
'value' => 1,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-below-stick]',
'operator' => '==',
'value' => 1,
),
),
);
/**
* Options for Woo Cart colors on sticky header.
*
* @since 4.6.0
*/
array_push(
$sticky_individual_configs,
/**
* Option: Sticky Header Woo Cart Options
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-woo-cart-divider]',
'type' => 'control',
'control' => 'ast-heading',
'section' => 'section-header-woo-cart',
'title' => __( 'Sticky Header Option', 'astra-addon' ),
'settings' => array(),
'priority' => 80,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
'context' => $sticky_header_woo_cart_context,
),
// Option Group: Cart Color.
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-woo-cart-colors]',
'default' => astra_get_option( 'sticky-header-woo-cart-colors' ),
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Cart Color', 'astra-addon' ),
'section' => 'section-header-woo-cart',
'transport' => 'postMessage',
'priority' => 85,
'context' => $sticky_header_woo_cart_context,
'responsive' => false,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
),
// Option: Cart Normal Color.
array(
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-woo-cart-colors]',
'section' => 'section-header-woo-cart',
'transport' => 'refresh',
'name' => 'sticky-header-woo-cart-color',
'default' => astra_get_option( 'sticky-header-woo-cart-color' ),
'title' => __( 'Normal', 'astra-addon' ),
'responsive' => false,
'rgba' => true,
'priority' => 85,
'context' => $sticky_header_woo_cart_context,
),
// Option: Cart Hover Color.
array(
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'transport' => 'refresh',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-woo-cart-colors]',
'section' => 'section-header-woo-cart',
'name' => 'sticky-header-woo-cart-hover-color',
'default' => astra_get_option( 'sticky-header-woo-cart-hover-color' ),
'title' => __( 'Hover', 'astra-addon' ),
'responsive' => false,
'rgba' => true,
'priority' => 85,
'context' => $sticky_header_woo_cart_context,
),
// Option Group: Cart Color.
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-woo-cart-count-colors]',
'default' => astra_get_option( 'sticky-header-woo-cart-count-colors' ),
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Count Color', 'astra-addon' ),
'section' => 'section-header-woo-cart',
'transport' => 'postMessage',
'priority' => 85,
'context' => $sticky_header_woo_cart_context,
'responsive' => false,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
),
// Option: Cart Normal Color.
array(
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-woo-cart-count-colors]',
'section' => 'section-header-woo-cart',
'transport' => 'refresh',
'name' => 'sticky-header-woo-cart-count-color',
'default' => astra_get_option( 'sticky-header-woo-cart-count-color' ),
'title' => __( 'Normal', 'astra-addon' ),
'responsive' => false,
'rgba' => true,
'priority' => 85,
'context' => $sticky_header_woo_cart_context,
),
// Option: Cart Hover Color.
array(
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'transport' => 'refresh',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-woo-cart-count-colors]',
'section' => 'section-header-woo-cart',
'name' => 'sticky-header-woo-cart-count-hover-color',
'default' => astra_get_option( 'sticky-header-woo-cart-count-hover-color' ),
'title' => __( 'Hover', 'astra-addon' ),
'responsive' => false,
'rgba' => true,
'priority' => 85,
'context' => $sticky_header_woo_cart_context,
),
);
$sticky_menu_configs = array();
$component_limit = astra_addon_builder_helper()->component_limit;
for ( $index = 1; $index <= $component_limit; $index++ ) {
$_section = 'section-hb-menu-' . $index;
$_prefix = 'menu' . $index;
$sticky_config = array(
/**
* Option: Sticky Menu 1 Heading
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-menu-' . $index . '-options]',
'type' => 'control',
'control' => 'ast-heading',
'section' => 'section-hb-menu-' . $index,
'title' => __( 'Sticky Header Options', 'astra-addon' ),
'settings' => array(),
'priority' => 101,
'context' => astra_addon_builder_helper()->design_tab,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
),
// Option Group: Menu Color.
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-link-colors]',
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Text / Link', 'astra-addon' ),
'section' => $_section,
'priority' => 101,
'context' => astra_addon_builder_helper()->design_tab,
'responsive' => true,
'divider' => array(
'ast_title' => __( 'Menu Color', 'astra-addon' ),
'ast_class' => 'ast-section-spacing',
),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-background-colors]',
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Background', 'astra-addon' ),
'section' => $_section,
'priority' => 101,
'context' => astra_addon_builder_helper()->design_tab,
'responsive' => true,
'divider' => array( 'ast_class' => 'ast-bottom-dotted-divider' ),
),
// Option: Menu Color.
array(
'name' => 'sticky-header-' . $_prefix . '-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-link-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'section' => $_section,
'title' => __( 'Normal', 'astra-addon' ),
'tab' => __( 'Normal', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'priority' => 7,
'context' => astra_addon_builder_helper()->design_tab,
),
// Option: Menu Background image, color.
array(
'name' => 'sticky-header-' . $_prefix . '-bg-obj-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-bg-obj-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-background-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'responsive' => true,
'rgba' => true,
'section' => $_section,
'data_attrs' => array( 'name' => 'sticky-header-' . $_prefix . '-bg-obj-responsive' ),
'title' => __( 'Normal', 'astra-addon' ),
'tab' => __( 'Normal', 'astra-addon' ),
'priority' => 9,
'context' => astra_addon_builder_helper()->design_tab,
),
// Option: Menu Hover Color.
array(
'name' => 'sticky-header-' . $_prefix . '-h-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-h-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-link-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'title' => __( 'Hover', 'astra-addon' ),
'tab' => __( 'Hover', 'astra-addon' ),
'section' => $_section,
'responsive' => true,
'rgba' => true,
'priority' => 19,
'context' => astra_addon_builder_helper()->design_tab,
),
// Option: Menu Hover Background Color.
array(
'name' => 'sticky-header-' . $_prefix . '-h-bg-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-h-bg-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-background-colors]',
'type' => 'sub-control',
'title' => __( 'Hover', 'astra-addon' ),
'tab' => __( 'Hover', 'astra-addon' ),
'section' => $_section,
'control' => 'ast-responsive-color',
'responsive' => true,
'rgba' => true,
'priority' => 21,
'context' => astra_addon_builder_helper()->design_tab,
),
// Option: Active Menu Color.
array(
'name' => 'sticky-header-' . $_prefix . '-a-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-a-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-link-colors]',
'type' => 'sub-control',
'section' => $_section,
'control' => 'ast-responsive-color',
'title' => __( 'Active', 'astra-addon' ),
'tab' => __( 'Active', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'priority' => 31,
'context' => astra_addon_builder_helper()->design_tab,
),
// Option: Active Menu Background Color.
array(
'name' => 'sticky-header-' . $_prefix . '-a-bg-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-a-bg-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-background-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'section' => $_section,
'title' => __( 'Active', 'astra-addon' ),
'tab' => __( 'Active', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'priority' => 33,
'context' => astra_addon_builder_helper()->design_tab,
),
// Option Group: Sub Menu Colors.
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-submenu-link-colors]',
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Text / Link', 'astra-addon' ),
'section' => $_section,
'priority' => 102,
'context' => astra_addon_builder_helper()->design_tab,
'responsive' => true,
'divider' => array(
'ast_title' => __( 'Submenu Color', 'astra-addon' ),
),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-submenu-background-colors]',
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Background', 'astra-addon' ),
'section' => $_section,
'priority' => 102,
'context' => astra_addon_builder_helper()->design_tab,
'responsive' => true,
),
// Option: Submenu Color.
array(
'name' => 'sticky-header-' . $_prefix . '-submenu-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-submenu-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-submenu-link-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'title' => __( 'Normal', 'astra-addon' ),
'tab' => __( 'Normal', 'astra-addon' ),
'section' => $_section,
'responsive' => true,
'rgba' => true,
'priority' => 13,
),
// Option: Submenu Background Color.
array(
'name' => 'sticky-header-' . $_prefix . '-submenu-bg-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-submenu-bg-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-submenu-background-colors]',
'type' => 'sub-control',
'title' => __( 'Normal', 'astra-addon' ),
'tab' => __( 'Normal', 'astra-addon' ),
'section' => $_section,
'control' => 'ast-responsive-color',
'responsive' => true,
'rgba' => true,
'priority' => 15,
),
// Option: Submenu Hover Color.
array(
'name' => 'sticky-header-' . $_prefix . '-submenu-h-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-submenu-h-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-submenu-link-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'section' => $_section,
'title' => __( 'Hover', 'astra-addon' ),
'tab' => __( 'Hover', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'priority' => 25,
),
// Option: Submenu Hover Background Color.
array(
'name' => 'sticky-header-' . $_prefix . '-submenu-h-bg-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-submenu-h-bg-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-submenu-background-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'section' => $_section,
'title' => __( 'Hover', 'astra-addon' ),
'tab' => __( 'Hover', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'priority' => 27,
),
// Option: Active Submenu Color.
array(
'name' => 'sticky-header-' . $_prefix . '-submenu-a-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-submenu-a-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-submenu-link-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'section' => $_section,
'title' => __( 'Active', 'astra-addon' ),
'tab' => __( 'Active', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'priority' => 37,
),
// Option: Active Submenu Background Color.
array(
'name' => 'sticky-header-' . $_prefix . '-submenu-a-bg-color-responsive',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-submenu-a-bg-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-submenu-background-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'section' => $_section,
'title' => __( 'Active', 'astra-addon' ),
'tab' => __( 'Active', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'priority' => 39,
),
);
$sticky_menu_configs[] = $sticky_config;
if ( 3 > $index ) {
$sticky_config = array(
// Option Group: Primary Mega Menu Colors.
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-mega-menu-col-color-group]',
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Mega Menu Heading', 'astra-addon' ),
'section' => $_section,
'priority' => 103,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
// Option: Megamenu Heading Color.
array(
'name' => 'sticky-header-' . $_prefix . '-header-megamenu-heading-color',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-header-megamenu-heading-color' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-mega-menu-col-color-group]',
'type' => 'sub-control',
'control' => 'ast-color',
'section' => $_section,
'title' => __( 'Normal', 'astra-addon' ),
),
// Option: Megamenu Heading Hover Color.
array(
'name' => 'sticky-header-' . $_prefix . '-header-megamenu-heading-h-color',
'default' => astra_get_option( 'sticky-header-' . $_prefix . '-header-megamenu-heading-h-color' ),
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-' . $_prefix . '-mega-menu-col-color-group]',
'type' => 'sub-control',
'control' => 'ast-color',
'section' => $_section,
'title' => __( 'Hover', 'astra-addon' ),
),
);
$sticky_menu_configs[] = $sticky_config;
}
}
$sticky_menu_configs = call_user_func_array( 'array_merge', $sticky_menu_configs + array( array() ) );
$sticky_individual_configs = array_merge( $sticky_individual_configs, $sticky_menu_configs );
} else {
$sticky_individual_configs = array(
/**
* Option: Sticky Header primary Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-primary-header-colors]',
'default' => astra_get_option( 'sticky-header-primary-header-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => 'Site Title Color',
'section' => $header_primary_section,
'transport' => 'postMessage',
'priority' => 86,
'responsive' => true,
'divider' => array( 'ast_class' => 'ast-top-divider' ),
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header Above Menu Link Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-above-menus-link-colors]',
'default' => astra_get_option( 'sticky-header-above-menus-link-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Link / Text', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 61,
'responsive' => true,
'divider' => array(
'ast_class' => 'ast-top-divider',
'ast_title' => __( 'Menu', 'astra-addon' ),
),
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header Above Menu Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-above-menus-colors]',
'default' => astra_get_option( 'sticky-header-above-menus-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Background', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 61,
'responsive' => true,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header Above Menu Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-above-submenus-link-colors]',
'default' => astra_get_option( 'sticky-header-above-submenus-link-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Link / Text', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 65,
'responsive' => true,
'divider' => array(
'ast_class' => 'ast-top-divider',
'ast_title' => __( 'Submenu', 'astra-addon' ),
),
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header Above Menu Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-above-submenus-colors]',
'default' => astra_get_option( 'sticky-header-above-submenus-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Background', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 65,
'responsive' => true,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header primary Link Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-primary-menus-link-colors]',
'default' => astra_get_option( 'sticky-header-primary-menus-link-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Link / Text', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 90,
'divider' => array(
'ast_class' => 'ast-top-divider',
'ast_title' => __( 'Menu', 'astra-addon' ),
),
'responsive' => true,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header primary Link Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-primary-menus-colors]',
'default' => astra_get_option( 'sticky-header-primary-menus-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Background', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 90,
'responsive' => true,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header primary Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-primary-submenu-link-colors]',
'default' => astra_get_option( 'sticky-header-primary-submenu-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Link/Text', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 95,
'divider' => array(
'ast_class' => 'ast-top-divider',
'ast_title' => __( 'Submenu', 'astra-addon' ),
),
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
'responsive' => true,
),
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-primary-submenu-background-colors]',
'default' => astra_get_option( 'sticky-header-primary-submenu-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Background', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 95,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
'responsive' => true,
),
/**
* Option: Sticky Header Below Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-below-menus-link-colors]',
'default' => astra_get_option( 'sticky-header-below-menus-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Link/Text', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 120,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
'responsive' => true,
'divider' => array(
'ast_class' => 'ast-top-divider',
'ast_title' => __( 'Menu', 'astra-addon' ),
),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-below-menus-background-colors]',
'default' => astra_get_option( 'sticky-header-below-menus-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Background', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 120,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
'responsive' => true,
),
/**
* Option: Sticky Header Below Submenu Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-below-submenus-link-colors]',
'default' => astra_get_option( 'sticky-header-below-submenus-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Link / Text', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 125,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
'responsive' => true,
'divider' => array(
'ast_class' => 'ast-top-divider',
'ast_title' => __( 'Submenu', 'astra-addon' ),
),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-below-submenus-background-colors]',
'default' => astra_get_option( 'sticky-header-below-submenus-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Background', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 125,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
'responsive' => true,
),
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-bg-color-responsive]',
'default' => astra_get_option( 'sticky-header-bg-color-responsive' ),
'type' => 'control',
'tab' => __( 'Normal', 'astra-addon' ),
'priority' => 85,
'section' => 'section-sticky-header',
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'title' => __( 'Background Color', 'astra-addon' ),
'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
'responsive' => true,
'rgba' => true,
),
/**
* Option: Site Title Color
*/
array(
'name' => 'sticky-header-color-site-title-responsive',
'default' => astra_get_option( 'sticky-header-color-site-title-responsive' ),
'type' => 'sub-control',
'tab' => __( 'Normal', 'astra-addon' ),
'priority' => 7,
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-primary-header-colors]',
'section' => 'section-sticky-header',
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'title' => __( 'Normal', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
),
/**
* Option: Site Title Hover Color
*/
array(
'name' => 'sticky-header-color-h-site-title-responsive',
'default' => astra_get_option( 'sticky-header-color-h-site-title-responsive' ),
'type' => 'sub-control',
'tab' => __( 'Hover', 'astra-addon' ),
'priority' => 8,
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-primary-header-colors]',
'section' => 'section-sticky-header',
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'title' => __( 'Hover', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
),
/**
* Option: Site Tagline Color
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-color-site-tagline-responsive]',
'default' => astra_get_option( 'sticky-header-color-site-tagline-responsive' ),
'type' => 'control',
'priority' => 85,
'section' => 'section-sticky-header',
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'title' => __( 'Site Tagline Color', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'connect' => ASTRA_THEME_SETTINGS . '[sticky-header-color-site-tagline-responsive]',
),
/**
* Option: Content Section Text color.
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-below-header-content-section-text-color-responsive]',
'default' => astra_get_option( 'sticky-below-header-content-section-text-color-responsive' ),
'type' => 'control',
'transport' => 'postMessage',
'control' => 'ast-responsive-color',
'title' => __( 'Text', 'astra-addon' ),
'divider' => array(
'ast_class' => 'ast-top-divider',
'ast_title' => __( 'Content', 'astra-addon' ),
),
'responsive' => true,
'rgba' => true,
'priority' => 135,
'section' => 'section-sticky-header',
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header Header Content Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-below-header-content-colors]',
'default' => astra_get_option( 'sticky-header-below-header-content-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Link', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 135,
'responsive' => true,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Content Section Text color.
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-content-section-text-color-responsive]',
'default' => astra_get_option( 'sticky-header-content-section-text-color-responsive' ),
'type' => 'control',
'priority' => 105,
'section' => 'section-sticky-header',
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'title' => __( 'Text', 'astra-addon' ),
'responsive' => true,
'rgba' => true,
'divider' => array(
'ast_class' => 'ast-top-divider',
'ast_title' => __( 'Outside Item', 'astra-addon' ),
),
'context' => astra_addon_builder_helper()->is_header_footer_builder_active ? astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
/**
* Option: Sticky Header primary Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-primary-outside-item-colors]',
'default' => astra_get_option( 'sticky-header-primary-outside-item-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Link', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 105,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
'responsive' => true,
),
/**
* Option: Sticky Header Above Link Color Group
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[sticky-header-above-outside-item-link-colors]',
'default' => astra_get_option( 'sticky-header-above-outside-item-link-colors' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$group_control,
'title' => __( 'Link', 'astra-addon' ),
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'priority' => 75,
'responsive' => true,
'context' => ( true === astra_addon_builder_helper()->is_header_footer_builder_active ) ?
astra_addon_builder_helper()->design_tab : astra_addon_builder_helper()->general_tab,
),
);
}
$_new_configs = array_merge( $_new_configs, $sticky_individual_configs );
$_config = array_merge( $_config, $_new_configs );
}
if ( false === astra_addon_builder_helper()->is_header_footer_builder_active ) {
$_new_configs = array(
/**
* Option: Button Text Color
*/
array(
'name' => 'header-main-rt-sticky-section-button-text-color',
'transport' => 'postMessage',
'default' => astra_get_option( 'header-main-rt-sticky-section-button-text-color' ),
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-button-color-group]',
'section' => 'section-sticky-header',
'tab' => __( 'Normal', 'astra-addon' ),
'control' => 'ast-color',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ),
'priority' => 10,
'title' => __( 'Text Color', 'astra-addon' ),
),
/**
* Option: Button Text Hover Color
*/
array(
'name' => 'header-main-rt-sticky-section-button-text-h-color',
'default' => astra_get_option( 'header-main-rt-sticky-section-button-text-h-color' ),
'transport' => 'postMessage',
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-button-color-group]',
'section' => 'section-sticky-header',
'tab' => __( 'Hover', 'astra-addon' ),
'control' => 'ast-color',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ),
'priority' => 10,
'title' => __( 'Text Color', 'astra-addon' ),
),
/**
* Option: Button Background Color
*/
array(
'name' => 'header-main-rt-sticky-section-button-back-color',
'default' => astra_get_option( 'header-main-rt-sticky-section-button-back-color' ),
'transport' => 'postMessage',
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-button-color-group]',
'section' => 'section-sticky-header',
'tab' => __( 'Normal', 'astra-addon' ),
'control' => 'ast-color',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ),
'priority' => 10,
'title' => __( 'Background Color', 'astra-addon' ),
),
/**
* Option: Button Button Hover Color
*/
array(
'name' => 'header-main-rt-sticky-section-button-back-h-color',
'default' => astra_get_option( 'header-main-rt-sticky-section-button-back-h-color' ),
'transport' => 'postMessage',
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-button-color-group]',
'section' => 'section-sticky-header',
'tab' => __( 'Hover', 'astra-addon' ),
'control' => 'ast-color',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ),
'priority' => 10,
'title' => __( 'Background Color', 'astra-addon' ),
),
// Option: Button Custom Menu Button Border.
array(
'type' => 'control',
'control' => 'ast-responsive-spacing',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_spacing' ),
'name' => ASTRA_THEME_SETTINGS . '[header-main-rt-sticky-section-button-padding]',
'section' => 'section-sticky-header',
'transport' => 'postMessage',
'linked_choices' => true,
'priority' => 55,
'default' => astra_get_option( 'header-main-rt-sticky-section-button-padding' ),
'title' => __( 'Padding', 'astra-addon' ),
'choices' => array(
'top' => __( 'Top', 'astra-addon' ),
'right' => __( 'Right', 'astra-addon' ),
'bottom' => __( 'Bottom', 'astra-addon' ),
'left' => __( 'Left', 'astra-addon' ),
),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-main-rt-section-button-style]',
'operator' => '===',
'value' => 'custom-button',
),
),
),
/**
* Option: Button Border Size
*/
array(
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-button-border-group]',
'section' => 'section-sticky-header',
'control' => 'ast-border',
'name' => 'header-main-rt-sticky-section-button-border-size',
'transport' => 'postMessage',
'linked_choices' => true,
'priority' => 10,
'default' => astra_get_option( 'header-main-rt-sticky-section-button-border-size' ),
'title' => __( 'Width', 'astra-addon' ),
'choices' => array(
'top' => __( 'Top', 'astra-addon' ),
'right' => __( 'Right', 'astra-addon' ),
'bottom' => __( 'Bottom', 'astra-addon' ),
'left' => __( 'Left', 'astra-addon' ),
),
),
/**
* Option: Button Border Color
*/
array(
'name' => 'header-main-rt-sticky-section-button-border-color',
'default' => astra_get_option( 'header-main-rt-sticky-section-button-border-color' ),
'transport' => 'postMessage',
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-button-border-group]',
'section' => 'section-sticky-header',
'control' => 'ast-color',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ),
'priority' => 12,
'title' => __( 'Color', 'astra-addon' ),
),
/**
* Option: Button Border Hover Color
*/
array(
'name' => 'header-main-rt-sticky-section-button-border-h-color',
'default' => astra_get_option( 'header-main-rt-sticky-section-button-border-h-color' ),
'transport' => 'postMessage',
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-button-border-group]',
'section' => 'section-sticky-header',
'control' => 'ast-color',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ),
'priority' => 14,
'title' => __( 'Hover Color', 'astra-addon' ),
),
/**
* Option: Button Border Radius
*/
array(
'name' => 'header-main-rt-sticky-section-button-border-radius',
'default' => astra_get_option( 'header-main-rt-sticky-section-button-border-radius' ),
'type' => 'sub-control',
'parent' => ASTRA_THEME_SETTINGS . '[sticky-header-button-border-group]',
'section' => 'section-sticky-header',
'control' => 'ast-slider',
'transport' => 'postMessage',
'suffix' => 'px',
'priority' => 16,
'title' => __( 'Border Radius', 'astra-addon' ),
'input_attrs' => array(
'min' => 0,
'step' => 1,
'max' => 100,
),
),
);
} else {
$_new_configs = array(
array(
'name' => ASTRA_THEME_SETTINGS . '[header-stick-notice]',
'type' => 'control',
'control' => 'ast-description',
'section' => 'section-sticky-header',
'priority' => 13.5,
'help' => __( 'Note: You can find all the Sticky Header related design options in the individual Elements for Logo, Primary Menu, Button etc.', 'astra-addon' ),
'context' => array(
'relation' => 'AND',
astra_addon_builder_helper()->general_tab_config,
array(
'relation' => 'OR',
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-above-stick]',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-below-stick]',
'operator' => '==',
'value' => true,
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-main-stick]',
'operator' => '==',
'value' => true,
),
),
),
),
);
}
$_config = array_merge( $_config, $_new_configs );
return array_merge( $configurations, $_config );
}
/**
* Is Header Section addon active.
* Decide if the Above & Below option should be visible in Sticky Header depending on Header Section addon.
*
* @return boolean True - If the option should be displayed, False - If the option should be hidden.
*/
public static function is_header_section_active() {
$status = false;
if ( Astra_Ext_Extension::is_active( 'header-sections' ) || true === astra_addon_builder_helper()->is_header_footer_builder_active ) {
$status = true;
}
return $status;
}
}
}
new Astra_Sticky_Header_Configs();