/** * Astra Theme Customizer Configuration Builder. * * @package astra-builder * @author Astra * @copyright Copyright (c) 2020, Astra * @link https://wpastra.com/ * @since 3.0.0 */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Register Builder Customizer Configurations. * * @since 3.0.0 */ class Astra_Button_Component_Configs { /** * Register Builder Customizer Configurations. * * @param Array $configurations Configurations. * @param string $builder_type Builder Type. * @param string $section Section. * * @since 3.0.0 * @return Array Astra Customizer Configurations with updated configurations. */ public static function register_configuration( $configurations, $builder_type = 'header', $section = 'section-hb-button-' ) { if ( 'footer' === $builder_type ) { $class_obj = Astra_Builder_Footer::get_instance(); $number_of_button = Astra_Builder_Helper::$num_of_footer_button; $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_footer_button; } else { $class_obj = Astra_Builder_Header::get_instance(); $number_of_button = Astra_Builder_Helper::$num_of_header_button; $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_button; } $button_config = array(); for ( $index = 1; $index <= $component_limit; $index++ ) { $_section = $section . $index; $_prefix = 'button' . $index; /** * These options are related to Header Section - Button. * Prefix hs represents - Header Section. */ $button_config[] = array( /* * Header Builder section - Button Component Configs. */ array( 'name' => $_section, 'type' => 'section', 'priority' => 50, /* translators: %s Index */ 'title' => ( 1 === $number_of_button ) ? __( 'Button', 'astra' ) : sprintf( __( 'Button %s', 'astra' ), $index ), 'panel' => 'panel-' . $builder_type . '-builder-group', 'clone_index' => $index, 'clone_type' => $builder_type . '-button', ), /** * Option: Header Builder Tabs */ array( 'name' => $_section . '-ast-context-tabs', 'section' => $_section, 'type' => 'control', 'control' => 'ast-builder-header-control', 'priority' => 0, 'description' => '', ), /** * Option: Button Text */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text]', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-text' ), 'type' => 'control', 'control' => 'text', 'section' => $_section, 'priority' => 20, 'title' => __( 'Text', 'astra' ), 'transport' => 'postMessage', 'partial' => array( 'selector' => '.ast-' . $builder_type . '-button-' . $index, 'container_inclusive' => false, 'render_callback' => array( $class_obj, 'button_' . $index ), 'fallback_refresh' => false, ), 'context' => Astra_Builder_Helper::$general_tab, ), /** * Option: Button Link */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-link-option]', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-link-option' ), 'type' => 'control', 'control' => 'ast-link', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_link' ), 'section' => $_section, 'priority' => 30, 'title' => __( 'Link', 'astra' ), 'transport' => 'postMessage', 'partial' => array( 'selector' => '.ast-' . $builder_type . '-button-' . $index, 'container_inclusive' => false, 'render_callback' => array( $class_obj, 'button_' . $index ), ), 'context' => Astra_Builder_Helper::$general_tab, 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Group: Primary Header Button Colors Group */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-color-group]', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-color-group' ), 'type' => 'control', 'control' => 'ast-color-group', 'title' => __( 'Text Color', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'priority' => 70, 'context' => Astra_Builder_Helper::$design_tab, 'responsive' => true, 'divider' => array( 'ast_class' => 'ast-section-spacing' ), ), array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-background-color-group]', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-color-group' ), 'type' => 'control', 'control' => 'ast-color-group', 'title' => __( 'Background Color', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'priority' => 70, 'context' => Astra_Builder_Helper::$design_tab, 'responsive' => true, ), /** * Option: Button Text Color */ array( 'name' => $builder_type . '-' . $_prefix . '-text-color', 'transport' => 'postMessage', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-text-color' ), 'type' => 'sub-control', 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-color-group]', 'section' => $_section, 'tab' => __( 'Normal', 'astra' ), 'control' => 'ast-responsive-color', 'responsive' => true, 'rgba' => true, 'priority' => 9, 'context' => Astra_Builder_Helper::$design_tab, 'title' => __( 'Normal', 'astra' ), ), /** * Option: Button Text Hover Color */ array( 'name' => $builder_type . '-' . $_prefix . '-text-h-color', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-text-h-color' ), 'transport' => 'postMessage', 'type' => 'sub-control', 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-color-group]', 'section' => $_section, 'tab' => __( 'Hover', 'astra' ), 'control' => 'ast-responsive-color', 'responsive' => true, 'rgba' => true, 'priority' => 9, 'context' => Astra_Builder_Helper::$design_tab, 'title' => __( 'Hover', 'astra' ), ), /** * Option: Button Background Color */ array( 'name' => $builder_type . '-' . $_prefix . '-back-color', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-back-color' ), 'transport' => 'postMessage', 'type' => 'sub-control', 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-background-color-group]', 'section' => $_section, 'tab' => __( 'Normal', 'astra' ), 'control' => 'ast-responsive-color', 'responsive' => true, 'rgba' => true, 'priority' => 10, 'context' => Astra_Builder_Helper::$design_tab, 'title' => __( 'Normal', 'astra' ), ), /** * Option: Button Button Hover Color */ array( 'name' => $builder_type . '-' . $_prefix . '-back-h-color', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-back-h-color' ), 'transport' => 'postMessage', 'type' => 'sub-control', 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-background-color-group]', 'section' => $_section, 'tab' => __( 'Hover', 'astra' ), 'control' => 'ast-responsive-color', 'responsive' => true, 'rgba' => true, 'priority' => 10, 'context' => Astra_Builder_Helper::$design_tab, 'title' => __( 'Hover', 'astra' ), ), array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-builder-button-border-colors-group]', 'type' => 'control', 'control' => 'ast-color-group', 'title' => __( 'Border Color', 'astra' ), 'section' => $_section, 'priority' => 70, 'transport' => 'postMessage', 'context' => Astra_Builder_Helper::$design_tab, 'responsive' => true, 'divider' => array( 'ast_class' => 'ast-bottom-divider' ), ), /** * Option: Button Border Color */ array( 'name' => $builder_type . '-' . $_prefix . '-border-color', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-border-color' ), 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-builder-button-border-colors-group]', 'transport' => 'postMessage', 'type' => 'sub-control', 'section' => $_section, 'control' => 'ast-responsive-color', 'responsive' => true, 'rgba' => true, 'priority' => 70, 'context' => Astra_Builder_Helper::$design_tab, 'title' => __( 'Normal', 'astra' ), ), /** * Option: Button Border Hover Color */ array( 'name' => $builder_type . '-' . $_prefix . '-border-h-color', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-border-h-color' ), 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-builder-button-border-colors-group]', 'transport' => 'postMessage', 'type' => 'sub-control', 'section' => $_section, 'control' => 'ast-responsive-color', 'responsive' => true, 'rgba' => true, 'priority' => 70, 'context' => Astra_Builder_Helper::$design_tab, 'title' => __( 'Hover', 'astra' ), ), /** * Option: Button Border Size */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-border-size]', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-border-size' ), 'type' => 'control', 'section' => $_section, 'control' => 'ast-border', 'transport' => 'postMessage', 'linked_choices' => true, 'priority' => 99, 'title' => __( 'Border Width', 'astra' ), 'context' => Astra_Builder_Helper::$design_tab, 'choices' => array( 'top' => __( 'Top', 'astra' ), 'right' => __( 'Right', 'astra' ), 'bottom' => __( 'Bottom', 'astra' ), 'left' => __( 'Left', 'astra' ), ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: Button Border Radius */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-border-radius]', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-border-radius' ), 'type' => 'control', 'section' => $_section, 'control' => 'ast-slider', 'transport' => 'postMessage', 'priority' => 99, 'context' => Astra_Builder_Helper::$design_tab, 'title' => __( 'Border Radius', 'astra' ), 'suffix' => 'px', 'input_attrs' => array( 'min' => 0, 'step' => 1, 'max' => 100, ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), /** * Option: Primary Header Button Typography */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-text-typography' ), 'type' => 'control', 'control' => 'ast-settings-group', 'title' => __( 'Font', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'context' => Astra_Builder_Helper::$design_tab, 'priority' => 90, ), /** * Option: Primary Header Button Font Family */ array( 'name' => $builder_type . '-' . $_prefix . '-font-family', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-font-family' ), 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]', 'type' => 'sub-control', 'section' => $_section, 'control' => 'ast-font', 'font_type' => 'ast-font-family', 'title' => __( 'Font Family', 'astra' ), 'context' => Astra_Builder_Helper::$general_tab, 'connect' => $builder_type . '-' . $_prefix . '-font-weight', 'priority' => 1, 'divider' => array( 'ast_class' => 'ast-sub-bottom-dotted-divider' ), ), /** * Option: Primary Footer Button Font Weight */ array( 'name' => $builder_type . '-' . $_prefix . '-font-weight', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-font-weight' ), 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]', 'type' => 'sub-control', 'section' => $_section, 'control' => 'ast-font', 'font_type' => 'ast-font-weight', 'title' => __( 'Font Weight', 'astra' ), 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_font_weight' ), 'connect' => $builder_type . '-' . $_prefix . '-font-family', 'priority' => 2, 'context' => Astra_Builder_Helper::$general_tab, 'divider' => array( 'ast_class' => 'ast-sub-bottom-dotted-divider' ), ), /** * Option: Primary Header Button Font Size */ array( 'name' => $builder_type . '-' . $_prefix . '-font-size', 'default' => astra_get_option( $builder_type . '-' . $_prefix . '-font-size' ), 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]', 'transport' => 'postMessage', 'title' => __( 'Font Size', 'astra' ), 'type' => 'sub-control', 'section' => $_section, 'control' => 'ast-responsive-slider', 'priority' => 3, 'context' => Astra_Builder_Helper::$general_tab, 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ), 'suffix' => array( 'px', 'em' ), 'input_attrs' => array( 'px' => array( 'min' => 0, 'step' => 1, 'max' => 100, ), 'em' => array( 'min' => 0, 'step' => 0.01, 'max' => 20, ), ), ), /** * Option: Primary Footer Button Font Extras */ array( 'name' => $builder_type . '-' . $_prefix . '-font-extras', 'parent' => ASTRA_THEME_SETTINGS . '[' . $builder_type . '-' . $_prefix . '-text-typography]', 'section' => $_section, 'type' => 'sub-control', 'control' => 'ast-font-extras', 'priority' => 5, 'default' => astra_get_option( 'breadcrumb-font-extras' ), 'context' => Astra_Builder_Helper::$general_tab, 'title' => __( 'Font Extras', 'astra' ), ), ); if ( 'footer' === $builder_type ) { $button_config[] = array( array( 'name' => ASTRA_THEME_SETTINGS . '[footer-button-' . $index . '-alignment]', 'default' => astra_get_option( 'footer-button-' . $index . '-alignment' ), 'type' => 'control', 'control' => 'ast-selector', 'section' => $_section, 'priority' => 35, 'title' => __( 'Alignment', 'astra' ), 'context' => Astra_Builder_Helper::$general_tab, 'transport' => 'postMessage', 'choices' => array( 'flex-start' => 'align-left', 'center' => 'align-center', 'flex-end' => 'align-right', ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), ); } $button_config[] = Astra_Builder_Base_Configuration::prepare_visibility_tab( $_section, $builder_type ); $button_config[] = Astra_Builder_Base_Configuration::prepare_advanced_tab( $_section ); } $button_config = call_user_func_array( 'array_merge', $button_config + array( array() ) ); $configurations = array_merge( $configurations, $button_config ); return $configurations; } } /** * Kicking this off by creating object of this class. */ new Astra_Button_Component_Configs(); Uncategorized - Cheap IPTV

Uncategorized

Beste Live Casinos as part of Brd 2025 Top Live Bestes Online -Casino Pusher Kasino Seiten & Spiele

Content Live Gameshows: Bestes Online -Casino Worauf sollte man within der Wahl von dem Live Spielbank respektieren? Dream Catcher: Angeschlossen vortragen ferner Träume erledigen Perish technischen Voraussetzungen sie sind für Live Casinos erforderlich? Pass away Live Casinos uns within folgendem Anno begeistern konnten, vermögen Sie nachkommend erfahren. Inside allen Empfehlungen handelt es zigeunern damit gelungene …

Beste Live Casinos as part of Brd 2025 Top Live Bestes Online -Casino Pusher Kasino Seiten & Spiele Read More »

Spielsaal Provision abzüglich Einzahlung Sechster book of ra bonus code monat des jahres 2025 innovativ & sofortig

Content Book of ra bonus code | In welchen Ausbilden vermag ihr Prämie bloß Einzahlung zusprechen werden? Freispiele für Tagesordnungspunkt Automatenspiele effizienz Entsprechend bekommt man aktuelle Freispiele within Online Casinos? Casino Tests Je die Gerüst unteilbar Spieleportfolio man sagt, sie seien die Produzent der Computerprogramm zuständig. Vereinigt der Casinoanbieter mehrere bekannte Versorger in seinem Angebot, …

Spielsaal Provision abzüglich Einzahlung Sechster book of ra bonus code monat des jahres 2025 innovativ & sofortig Read More »

Besten Echtgeld beste online casino bonus ohne einzahlung Angeschlossen Casinos inside Brd 2025 CC

Content Beste online casino bonus ohne einzahlung – Rechtlicher Befindlichkeit durch Erreichbar-Glücksspielen as part of Land der dichter und denker Perish Spielsaal Spiele möchten Die leser dieser tage vortragen? Zahlungsmethoden within deutschen Angeschlossen Casinos Nachfolgende Echtgeld Spielbank Einzahlung qua der Paysafecard ❓ Existireren parece Merkur Casinos über PayPal & paysafecard? StarGames.de wissend seine Nutzer unter …

Besten Echtgeld beste online casino bonus ohne einzahlung Angeschlossen Casinos inside Brd 2025 CC Read More »

Spielsaal Hot 777 Paypal Freispiele exklusive Einzahlung Free Spins 2025

Content Hot 777 Paypal – QBet Casino: 10 Freispiele bloß Einzahlungsbonus Entfesseln Sie neue Aufregung via 15 Freispielen inside Ozwin Spielbank Über Promocode via Hyperlink as part of E-mail einschreiben Wieso existireren sera nur as part of wenigen Casinos Free Spins abzüglich Einzahlung? As part of Auszahlungen über E-Wallets und Kryptowährungen dauert es nach ein …

Spielsaal Hot 777 Paypal Freispiele exklusive Einzahlung Free Spins 2025 Read More »

15 Steckplatz Duck Shooter beste Verbunden Casinos via erstplatzierter Ausschüttung, hohem RTP

Content Steckplatz Duck Shooter: Ruby Slots Handhaben pro Zahlungen qua PayPal Gehören an? Stärken unter anderem Neutralisieren bei Hydrargyrum Slots Freispiele für jedes Eintragung Zwar wichtig ist und bleibt dies, sic Eltern dies ordentliche Casino für jedes zigeunern wählen, eines welches Diesen Bedürfnissen entspricht, einen guten Namen hat & as part of dem Der Geld …

15 Steckplatz Duck Shooter beste Verbunden Casinos via erstplatzierter Ausschüttung, hohem RTP Read More »

Spielsaal Spiele für Illuminati Spielautomat nüsse Gratis Spielautomaten verbunden

Content Fazit zum Winsane Spielsaal Probe: Illuminati Spielautomat Gewissheit ferner Lizenzierung inside deutschen Verbunden Casinos Initialisieren Die leser within Dunder bei Weshalb inside Dunder vortragen? Speziell hervorzuheben sei diese hohe Sicherheit, dankfest der gültigen Erlaubnis nicht mehr da Curaçao und SSL-Chiffre. Diese vielfältigen Zahlungsmethoden, unter Kryptowährungen, sehen nach eine flexible Der- ferner Auszahlung. Auch ein …

Spielsaal Spiele für Illuminati Spielautomat nüsse Gratis Spielautomaten verbunden Read More »

50 Freispiele abzüglich Einzahlung Casino ruby fortune sofortig verfügbar Casinos 2025

Content Casino ruby fortune: Vermag ich Gewinne aus einem Prämie ohne Einzahlung auszahlen möglichkeit schaffen? Neue Kasino qua Free Spins inoffizieller mitarbeiter Juno 2025 Auf diese weise kannst du via Freispielen Echtgeld erlangen und auszahlen bewilligen Häufig gestellte fragen 💰 Prämie exklusive Einzahlung Casino-Bonusangebote Sodann loggt das euch unter einsatz von euren Zugangsdaten within nachfolgende …

50 Freispiele abzüglich Einzahlung Casino ruby fortune sofortig verfügbar Casinos 2025 Read More »

Casumo: Live -Händler -Casino -Holden 100-500% Provision ferner 120 Freispiele!

Content Einzahlung: In ihr Casumo Spielhalle einzahlen: Live -Händler -Casino -Holden CASINO-Daten Recommended casinos for Moldova Ein- und Auszahlungen in deutschen Angeschlossen Casinos Mobiles Casumo Casino Slots Demonstration im Echtgeld Casinos Wir zuteilen wohl mit vergnügen einen Extrapunkt im Casumo Probe, je solch ein ordentliche interne Punktesystem. Intensiv begleitet Eltern das verspielter Casumo, ihr wie …

Casumo: Live -Händler -Casino -Holden 100-500% Provision ferner 120 Freispiele! Read More »

Casino Free Spins 2025: Spielbank Casino beat the beast quetzalcoatls trial Freispiele bloß Einzahlung

Content So benützen Eltern Ihren Spielbank Maklercourtage ohne Einzahlung – Casino beat the beast quetzalcoatls trial Unser kommt auf einen Freispielen Had been versteht man unter unserem Spielsaal Maklercourtage exklusive Einzahlung? Umsatzbedingungen inside Free Spins Freispiele beherrschen summa summarum gar nicht kombiniert, & in zusätzliche Automaten leiten sie sind. Wie as part of angewandten Einsätzen …

Casino Free Spins 2025: Spielbank Casino beat the beast quetzalcoatls trial Freispiele bloß Einzahlung Read More »

Bitcoin Spielsaal Kollation: Casino -Glücksspiel Blackjack beste BTC Casinos 2025

Content Casino -Glücksspiel Blackjack | Entsprechend obig ist und bleibt nachfolgende Mindesteinzahlung in frischen Online Casinos? Bitcoin Sportwetten Bereich 8: Rakoo Casino Richtige Aktionen von Angeschlossen Casinos Nachfolgende Vorweg- & Nachteile das Paysafecard Der reichlich strukturiertes & informatives Faq-Segment Casino -Glücksspiel Blackjack darf viele Wundern vorab kl�ren & angewandten Begierde aktiv direktem Hilfe verringern. Nachfolgende …

Bitcoin Spielsaal Kollation: Casino -Glücksspiel Blackjack beste BTC Casinos 2025 Read More »

You cannot copy content of this page