Astra_Language_Switcher_Component_Configs::register_configuration( Array $configurations, string $builder_type = 'header', string $_section = 'section-hb-language-switcher' )
Register Builder Customizer Configurations.
Description
Parameters
- $configurations
-
(Array) (Required) Configurations.
- $builder_type
-
(string) (Optional) Builder Type.
Default value: 'header'
- $_section
-
(string) (Optional) Section.
Default value: 'section-hb-language-switcher'
Return
(Array) Astra Customizer Configurations with updated configurations.
Source
File: classes/builder/type/base/configurations/class-astra-language-switcher-component-configs.php
public static function register_configuration( $configurations, $builder_type = 'header', $_section = 'section-hb-language-switcher' ) { $lang_config = array(); if ( 'footer' === $builder_type ) { $class_obj = Astra_Addon_Builder_Footer::get_instance(); } else { $class_obj = Astra_Addon_Builder_Header::get_instance(); } $language_choices = array( 'custom' => __( 'Custom', 'astra-addon' ), ); if ( class_exists( 'SitePress' ) ) { $language_choices['wpml'] = __( 'WPML', 'astra-addon' ); } $type_context = astra_addon_builder_helper()->general_tab; if ( count( $language_choices ) > 1 ) { $type_context = array( array( 'setting' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-type]', 'operator' => '==', 'value' => 'custom', ), astra_addon_builder_helper()->general_tab_config, ); } /** * These options are related to Header Section - language switcher. */ $_configs = array( /** * Option: Header Builder Tabs */ array( 'name' => $_section . '-ast-context-tabs', 'section' => $_section, 'type' => 'control', 'control' => 'ast-builder-header-control', 'priority' => 0, 'description' => '', ), array( 'name' => $_section, 'type' => 'section', 'priority' => 1, 'title' => __( 'Language Switcher', 'astra-addon' ), 'panel' => 'panel-' . $builder_type . '-builder-group', ), array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-options]', 'section' => $_section, 'type' => 'control', 'control' => 'ast-language-selector', 'title' => __( 'Select Languages', 'astra-addon' ), 'transport' => 'postMessage', 'priority' => 2, 'default' => astra_get_option( $builder_type . '-language-switcher-options' ), 'partial' => array( 'selector' => '.ast-' . $builder_type . '-language-switcher', 'render_callback' => array( $class_obj, $builder_type . '_language_switcher' ), ), 'context' => $type_context, ), /** * Option: Position */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-layout]', 'default' => astra_get_option( $builder_type . '-language-switcher-layout' ), 'type' => 'control', 'control' => Astra_Theme_Extension::$selector_control, 'section' => $_section, 'priority' => 3, 'title' => __( 'Layout', 'astra-addon' ), 'choices' => array( 'horizontal' => __( 'Horizontal', 'astra-addon' ), 'vertical' => __( 'Vertical', 'astra-addon' ), ), 'transport' => 'postMessage', 'partial' => array( 'selector' => '.ast-' . $builder_type . '-language-switcher', 'render_callback' => array( $class_obj, $builder_type . '_language_switcher' ), ), 'context' => astra_addon_builder_helper()->general_tab, 'responsive' => false, 'renderAs' => 'text', 'divider' => array( 'ast_class' => 'ast-bottom-divider ast-top-divider' ), ), array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-show-flag]', 'default' => astra_get_option( $builder_type . '-language-switcher-show-flag' ), 'type' => 'control', 'control' => Astra_Theme_Extension::$switch_control, 'section' => $_section, 'priority' => 3, 'title' => __( 'Show Country Flag', 'astra-addon' ), 'partial' => array( 'selector' => '.ast-' . $builder_type . '-language-switcher', 'render_callback' => array( $class_obj, $builder_type . '_language_switcher' ), ), 'transport' => 'postMessage', 'context' => astra_addon_builder_helper()->general_tab, 'divider' => array( 'ast_class' => 'ast-bottom-divider' ), ), array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-show-name]', 'default' => astra_get_option( $builder_type . '-language-switcher-show-name' ), 'type' => 'control', 'control' => Astra_Theme_Extension::$switch_control, 'section' => $_section, 'priority' => 3, 'title' => __( 'Show Name', 'astra-addon' ), 'partial' => array( 'selector' => '.ast-' . $builder_type . '-language-switcher', 'render_callback' => array( $class_obj, $builder_type . '_language_switcher' ), ), 'transport' => 'postMessage', 'context' => astra_addon_builder_helper()->general_tab, ), array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-show-tname]', 'default' => astra_get_option( $builder_type . '-language-switcher-show-tname' ), 'type' => 'control', 'control' => Astra_Theme_Extension::$switch_control, 'section' => $_section, 'priority' => 3, 'title' => __( 'Show Translated Name', 'astra-addon' ), 'transport' => 'postMessage', 'partial' => array( 'selector' => '.ast-' . $builder_type . '-language-switcher', 'render_callback' => array( $class_obj, $builder_type . '_language_switcher' ), ), 'context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-type]', 'operator' => '==', 'value' => 'wpml', ), astra_addon_builder_helper()->general_tab_config, ), ), array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-show-code]', 'default' => astra_get_option( $builder_type . '-language-switcher-show-code' ), 'type' => 'control', 'control' => Astra_Theme_Extension::$switch_control, 'section' => $_section, 'priority' => 3, 'title' => __( 'Show Language Code', 'astra-addon' ), 'transport' => 'postMessage', 'partial' => array( 'selector' => '.ast-' . $builder_type . '-language-switcher', 'render_callback' => array( $class_obj, $builder_type . '_language_switcher' ), ), 'context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-type]', 'operator' => '==', 'value' => 'wpml', ), astra_addon_builder_helper()->general_tab_config, ), ), array( 'name' => ASTRA_THEME_SETTINGS . '[' . $_section . '-flag-size]', 'section' => $_section, 'priority' => 2, 'transport' => 'postMessage', 'default' => astra_get_option( $_section . '-flag-size' ), 'title' => __( 'Flag Size', 'astra-addon' ), 'type' => 'control', 'control' => 'ast-responsive-slider', 'input_attrs' => array( 'min' => 0, 'step' => 1, 'max' => 50, ), 'divider' => array( 'ast_class' => 'ast-bottom-divider' ), 'suffix' => 'px', 'context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-show-flag]', 'operator' => '==', 'value' => true, ), astra_addon_builder_helper()->design_tab_config, ), ), // Section: Above Footer Border. array( 'name' => ASTRA_THEME_SETTINGS . '[' . $_section . '-flag-spacing]', 'section' => $_section, 'priority' => 2, 'transport' => 'postMessage', 'default' => astra_get_option( $_section . '-flag-spacing' ), 'title' => __( 'Flag & Text Spacing', 'astra-addon' ), 'type' => 'control', 'suffix' => 'px', 'control' => 'ast-responsive-slider', 'input_attrs' => array( 'min' => 0, 'step' => 1, 'max' => 60, ), 'divider' => array( 'ast_class' => 'ast-bottom-divider' ), 'context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-show-name]', 'operator' => '==', 'value' => true, ), astra_addon_builder_helper()->design_tab_config, ), ), ); if ( count( $language_choices ) > 1 ) { $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-language-switcher-type]', 'default' => astra_get_option( $builder_type . '-language-switcher-type' ), 'type' => 'control', 'control' => 'ast-select', 'section' => $_section, 'priority' => 1, 'title' => __( 'Type', 'astra-addon' ), 'choices' => $language_choices, 'transport' => 'postMessage', 'partial' => array( 'selector' => '.ast-' . $builder_type . '-language-switcher', 'render_callback' => array( $class_obj, $builder_type . '_language_switcher' ), ), ); } if ( 'footer' === $builder_type ) { $_configs[] = array( 'name' => ASTRA_THEME_SETTINGS . '[footer-language-switcher-alignment]', 'default' => astra_get_option( 'footer-language-switcher-alignment' ), 'type' => 'control', 'control' => Astra_Theme_Extension::$selector_control, 'section' => $_section, 'priority' => 35, 'title' => __( 'Alignment', 'astra-addon' ), 'context' => astra_addon_builder_helper()->general_tab, 'divider' => array( 'ast_class' => 'ast-top-divider' ), 'transport' => 'postMessage', 'responsive' => true, 'choices' => array( 'flex-start' => 'align-left', 'center' => 'align-center', 'flex-end' => 'align-right', ), ); } if ( is_callable( 'Astra_Builder_Base_Configuration::prepare_visibility_tab' ) ) { $lang_config[] = Astra_Builder_Base_Configuration::prepare_visibility_tab( $_section, $builder_type ); } $lang_config[] = $_configs; $lang_config = call_user_func_array( 'array_merge', $lang_config + array( array() ) ); $configurations = array_merge( $configurations, $lang_config ); return $configurations; }
Expand full source code Collapse full source code View on Trac
Changelog
Version | Description |
---|---|
3.1.0 | Introduced. |