From 9d4123cee1867ee7199b06bdc92d40611f547ecc Mon Sep 17 00:00:00 2001 From: Zach van Rijn Date: Wed, 21 Jul 2021 14:54:07 -0500 Subject: Initial unmodified import from Astra (Version: 3.6.5) @ /wp-content/themes/astra/. --- .../class-astra-builder-widget-controller.php | 132 +++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 inc/builder/controllers/class-astra-builder-widget-controller.php (limited to 'inc/builder/controllers/class-astra-builder-widget-controller.php') diff --git a/inc/builder/controllers/class-astra-builder-widget-controller.php b/inc/builder/controllers/class-astra-builder-widget-controller.php new file mode 100644 index 0000000..5b7b909 --- /dev/null +++ b/inc/builder/controllers/class-astra-builder-widget-controller.php @@ -0,0 +1,132 @@ +id, 'widgets-footer-widget-' ) || strpos( $section->id, 'widgets-header-widget-' ) ) { + $active = true; + } + + return $active; + } + + /** + * Initiate Astra Widgets. + */ + public function widget_init() { + + if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { + return; + } + + // Register Footer Widgets. + $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_footer_widgets; + for ( $index = 1; $index <= $component_limit; $index++ ) { + + if ( ! is_customize_preview() && ! Astra_Builder_Helper::is_component_loaded( 'widget-' . $index, 'footer' ) ) { + continue; + } + + $this->register_sidebar( $index, 'footer' ); + } + + $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_widgets; + for ( $index = 1; $index <= $component_limit; $index++ ) { + + if ( ! is_customize_preview() && ! Astra_Builder_Helper::is_component_loaded( 'widget-' . $index, 'header' ) ) { + continue; + } + + $this->register_sidebar( $index, 'header' ); + } + + } + + + /** + * Register widget for the builder. + * + * @param integer $index index of widget. + * @param string $builder_type builder type. + */ + public function register_sidebar( $index, $builder_type = 'header' ) { + register_sidebar( + apply_filters( + 'astra_' . $builder_type . '_widget_' . $index . 'args', + array( + 'name' => ucfirst( $builder_type ) . ' Builder Widget ' . $index, + 'id' => $builder_type . '-widget-' . $index, + 'description' => esc_html__( 'Add widgets here:', 'astra' ), + 'before_widget' => '
', + 'after_widget' => '
', + 'before_title' => '

', + 'after_title' => '

', + ) + ) + ); + } + } + + /** + * Prepare if class 'Astra_Builder_Widget_Controller' exist. + * Kicking this off by calling 'get_instance()' method + */ + Astra_Builder_Widget_Controller::get_instance(); +} -- cgit v1.2.3-70-g09d2