/**
* Mobile Menu Header Configuration.
*
* @package Astra
* @link https://wpastra.com/
* @since 4.5.2
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Register mobile-menu header builder Customizer Configurations.
*
* @since 4.5.2
* @return array Astra Customizer Configurations with updated configurations.
*/
function astra_header_mobile_menu_configuration() {
$_section = 'section-header-mobile-menu';
$_configs = array(
/**
* Option: Header Builder Tabs
*/
array(
'name' => $_section . '-ast-context-tabs',
'section' => $_section,
'type' => 'control',
'control' => 'ast-builder-header-control',
'priority' => 0,
'description' => '',
),
// Section: Primary Header.
array(
'name' => $_section,
'type' => 'section',
'title' => __( 'Off-Canvas Menu', 'astra' ),
'panel' => 'panel-header-builder-group',
'priority' => 40,
),
/**
* Option: Theme Menu create link
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-create-menu-link]',
'default' => astra_get_option( 'header-mobile-menu-create-menu-link' ),
'type' => 'control',
'control' => 'ast-customizer-link',
'section' => $_section,
'priority' => 30,
'link_type' => 'section',
'linked' => 'menu_locations',
'link_text' => __( 'Configure Menu from Here.', 'astra' ),
'context' => Astra_Builder_Helper::$general_tab,
'divider' => array( 'ast_class' => 'ast-section-spacing ast-bottom-section-divider' ),
),
// Option: Submenu Divider Checkbox.
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-submenu-item-border]',
'default' => astra_get_option( 'header-mobile-menu-submenu-item-border' ),
'type' => 'control',
'control' => 'ast-toggle-control',
'section' => $_section,
'priority' => 150,
'title' => __( 'Item Divider', 'astra' ),
'context' => Astra_Builder_Helper::$general_tab,
'transport' => 'postMessage',
'divider' => array( 'ast_class' => 'ast-top-section-divider' ),
),
// Option: Menu Color Divider.
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-divider-colors-divider]',
'section' => $_section,
'type' => 'control',
'control' => 'ast-heading',
'title' => __( 'Item Divider', 'astra' ),
'priority' => 150,
'settings' => array(),
'context' => array(
Astra_Builder_Helper::$design_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-submenu-item-border]',
'operator' => '==',
'value' => true,
),
),
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
),
// Option: Submenu item Border Size.
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-submenu-item-b-size]',
'type' => 'control',
'control' => 'ast-slider',
'default' => astra_get_option( 'header-mobile-menu-submenu-item-b-size' ),
'section' => $_section,
'priority' => 150,
'transport' => 'postMessage',
'title' => __( 'Divider Size', 'astra' ),
'context' => array(
Astra_Builder_Helper::$design_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-submenu-item-border]',
'operator' => '==',
'value' => true,
),
),
'suffix' => 'px',
'input_attrs' => array(
'min' => 1,
'step' => 1,
'max' => 10,
),
'divider' => array( 'ast_class' => 'ast-bottom-dotted-divider ast-section-spacing' ),
),
// Option: Submenu item Border Color.
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-submenu-item-b-color]',
'default' => astra_get_option( 'header-mobile-menu-submenu-item-b-color' ),
'type' => 'control',
'control' => 'ast-color',
'transport' => 'postMessage',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ),
'title' => __( 'Divider Color', 'astra' ),
'section' => $_section,
'priority' => 150,
'context' => array(
Astra_Builder_Helper::$design_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-submenu-item-border]',
'operator' => '==',
'value' => true,
),
),
),
// Option Group: Menu Color.
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-link-colors]',
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Link', 'astra' ),
'section' => $_section,
'transport' => 'postMessage',
'priority' => 90,
'context' => Astra_Builder_Helper::$design_tab,
'responsive' => true,
'divider' => array(
'ast_title' => __( 'Menu Color', 'astra' ),
'ast_class' => 'ast-section-spacing',
),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-background-colors]',
'type' => 'control',
'control' => 'ast-color-group',
'title' => __( 'Background', 'astra' ),
'section' => $_section,
'transport' => 'postMessage',
'priority' => 90,
'context' => Astra_Builder_Helper::$design_tab,
'responsive' => true,
'divider' => array(
'ast_title' => '',
'ast_class' => class_exists( 'Astra_Ext_Extension' ) && Astra_Ext_Extension::is_active( 'colors-and-background' ) ? 'ast-bottom-dotted-divider' : '',
),
),
// Option: Menu Color.
array(
'name' => 'header-mobile-menu-color-responsive',
'default' => astra_get_option( 'header-mobile-menu-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-link-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'tab' => __( 'Normal', 'astra' ),
'section' => $_section,
'title' => __( 'Normal', 'astra' ),
'responsive' => true,
'rgba' => true,
'priority' => 7,
'context' => Astra_Builder_Helper::$general_tab,
),
// Option: Menu Background image, color.
array(
'name' => 'header-mobile-menu-bg-obj-responsive',
'default' => astra_get_option( 'header-mobile-menu-bg-obj-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-background-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-background',
'section' => $_section,
'transport' => 'postMessage',
'tab' => __( 'Normal', 'astra' ),
'data_attrs' => array( 'name' => 'header-mobile-menu-bg-obj-responsive' ),
'title' => __( 'Normal', 'astra' ),
'priority' => 9,
'context' => Astra_Builder_Helper::$general_tab,
),
// Option: Menu Hover Color.
array(
'name' => 'header-mobile-menu-h-color-responsive',
'default' => astra_get_option( 'header-mobile-menu-h-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-link-colors]',
'tab' => __( 'Hover', 'astra' ),
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'title' => __( 'Hover', 'astra' ),
'section' => $_section,
'responsive' => true,
'rgba' => true,
'priority' => 19,
'context' => Astra_Builder_Helper::$general_tab,
),
// Option: Menu Hover Background Color.
array(
'name' => 'header-mobile-menu-h-bg-color-responsive',
'default' => astra_get_option( 'header-mobile-menu-h-bg-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-background-colors]',
'type' => 'sub-control',
'title' => __( 'Hover', 'astra' ),
'section' => $_section,
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'tab' => __( 'Hover', 'astra' ),
'responsive' => true,
'rgba' => true,
'priority' => 21,
'context' => Astra_Builder_Helper::$general_tab,
),
// Option: Active Menu Color.
array(
'name' => 'header-mobile-menu-a-color-responsive',
'default' => astra_get_option( 'header-mobile-menu-a-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-link-colors]',
'type' => 'sub-control',
'section' => $_section,
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'tab' => __( 'Active', 'astra' ),
'title' => __( 'Active', 'astra' ),
'responsive' => true,
'rgba' => true,
'priority' => 31,
'context' => Astra_Builder_Helper::$general_tab,
),
// Option: Active Menu Background Color.
array(
'name' => 'header-mobile-menu-a-bg-color-responsive',
'default' => astra_get_option( 'header-mobile-menu-a-bg-color-responsive' ),
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-background-colors]',
'type' => 'sub-control',
'control' => 'ast-responsive-color',
'transport' => 'postMessage',
'section' => $_section,
'title' => __( 'Active', 'astra' ),
'tab' => __( 'Active', 'astra' ),
'responsive' => true,
'rgba' => true,
'priority' => 33,
'context' => Astra_Builder_Helper::$general_tab,
),
/**
* Option: WOO Off Canvas Menu Submenu Color Section divider
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-header-typo-divider]',
'type' => 'control',
'control' => 'ast-heading',
'section' => $_section,
'title' => __( 'Font', 'astra' ),
'priority' => 120,
'settings' => array(),
'context' => Astra_Builder_Helper::$design_tab,
'divider' => array(
'ast_class' => 'ast-section-spacing',
),
),
// Option Group: Menu Typography.
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-header-menu-typography]',
'default' => astra_get_option( 'header-mobile-menu-header-menu-typography' ),
'type' => 'control',
'control' => 'ast-settings-group',
'title' => __( 'Menu Font', 'astra' ),
'section' => $_section,
'transport' => 'postMessage',
'priority' => 120,
'context' => Astra_Builder_Helper::$design_tab,
'divider' => array(
'ast_class' => 'ast-section-spacing',
),
),
// Option: Menu Font Family.
array(
'name' => 'header-mobile-menu-font-family',
'default' => astra_get_option( 'header-mobile-menu-font-family', 'inherit' ),
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-header-menu-typography]',
'type' => 'sub-control',
'section' => $_section,
'transport' => 'postMessage',
'control' => 'ast-font',
'font_type' => 'ast-font-family',
'title' => __( 'Font Family', 'astra' ),
'priority' => 22,
'connect' => 'header-mobile-menu-font-weight',
'context' => Astra_Builder_Helper::$general_tab,
'divider' => array( 'ast_class' => 'ast-sub-bottom-dotted-divider' ),
),
// Option: Menu Font Weight.
array(
'name' => 'header-mobile-menu-font-weight',
'default' => astra_get_option( 'header-mobile-menu-font-weight', 'inherit' ),
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-header-menu-typography]',
'section' => $_section,
'type' => 'sub-control',
'control' => 'ast-font',
'transport' => 'postMessage',
'font_type' => 'ast-font-weight',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_font_weight' ),
'title' => __( 'Font Weight', 'astra' ),
'priority' => 23,
'connect' => 'header-mobile-menu-font-family',
'context' => Astra_Builder_Helper::$general_tab,
'divider' => array( 'ast_class' => 'ast-sub-bottom-dotted-divider' ),
),
// Option: Menu Font Size.
array(
'name' => 'header-mobile-menu-font-size',
'default' => astra_get_option( 'header-mobile-menu-font-size' ),
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-header-menu-typography]',
'section' => $_section,
'type' => 'sub-control',
'priority' => 24,
'title' => __( 'Font Size', 'astra' ),
'control' => 'ast-responsive-slider',
'transport' => 'postMessage',
'context' => Astra_Builder_Helper::$general_tab,
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ),
'suffix' => array( 'px', 'em', 'vw', 'rem' ),
'input_attrs' => array(
'px' => array(
'min' => 0,
'step' => 1,
'max' => 200,
),
'em' => array(
'min' => 0,
'step' => 0.01,
'max' => 20,
),
'vw' => array(
'min' => 0,
'step' => 0.1,
'max' => 25,
),
'rem' => array(
'min' => 0,
'step' => 0.1,
'max' => 20,
),
),
),
/**
* Option: Font Extras
*/
array(
'name' => 'font-extras-header-mobile-menu',
'parent' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-header-menu-typography]',
'section' => $_section,
'type' => 'sub-control',
'control' => 'ast-font-extras',
'priority' => 24,
'default' => astra_get_option( 'font-extras-header-mobile-menu' ),
'title' => __( 'Font Extras', 'astra' ),
),
/**
* Option: Divider
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-menu-spacing-divider]',
'section' => $_section,
'title' => __( 'Spacing', 'astra' ),
'type' => 'control',
'control' => 'ast-heading',
'priority' => 150,
'settings' => array(),
'context' => Astra_Builder_Helper::$design_tab,
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
),
// Option - Menu Space.
array(
'name' => ASTRA_THEME_SETTINGS . '[header-mobile-menu-menu-spacing]',
'default' => astra_get_option( 'header-mobile-menu-menu-spacing' ),
'type' => 'control',
'control' => 'ast-responsive-spacing',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_spacing' ),
'transport' => 'postMessage',
'section' => $_section,
'priority' => 150,
'title' => __( 'Menu Spacing', 'astra' ),
'linked_choices' => true,
'unit_choices' => array( 'px', 'em', '%' ),
'choices' => array(
'top' => __( 'Top', 'astra' ),
'right' => __( 'Right', 'astra' ),
'bottom' => __( 'Bottom', 'astra' ),
'left' => __( 'Left', 'astra' ),
),
'context' => Astra_Builder_Helper::$design_tab,
'divider' => array( 'ast_class' => 'ast-bottom-section-divider ast-section-spacing' ),
),
/**
* Option: Margin Space
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[' . $_section . '-margin]',
'default' => astra_get_option( $_section . '-margin' ),
'type' => 'control',
'transport' => 'postMessage',
'control' => 'ast-responsive-spacing',
'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_spacing' ),
'section' => $_section,
'priority' => 220,
'title' => __( 'Margin', 'astra' ),
'linked_choices' => true,
'unit_choices' => array( 'px', 'em', '%' ),
'choices' => array(
'top' => __( 'Top', 'astra' ),
'right' => __( 'Right', 'astra' ),
'bottom' => __( 'Bottom', 'astra' ),
'left' => __( 'Left', 'astra' ),
),
'context' => Astra_Builder_Helper::$design_tab,
),
);
$_configs = array_merge( $_configs, Astra_Builder_Base_Configuration::prepare_visibility_tab( $_section ) );
if ( Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) {
array_map( 'astra_save_header_customizer_configs', $_configs );
}
return $_configs;
}
if ( Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) {
add_action( 'init', 'astra_header_mobile_menu_configuration' );
}
10 Best Workout Apps Of 2026, Tested By Personal Trainers - Apple Plaza Business Center
Skip to content
10 Best Workout Apps of 2026, Tested by Personal Trainers
Home Blog 10 Best Workout Apps of 2026, Tested by Personal Trainers
If you’re not ready to start going to the gym or lifting weights, Home Workouts lets you build up your fitness at home with no equipment required. The Nike Run Club offers free coaching and programs to help you build up to certain milestones, such as the 10k program. There are various guided runs, such
Best Workout Apps Without Subscription 2025: Free Apps Read More »