config = require_once 'lp-elementor-widgets-config.php'; } /** * Register category LearnPress * * @param Elements_Manager $elements_manager * * @return void * @since 4.2.3 * @version 1.0.1 */ public function register_category( Elements_Manager $elements_manager ) { $categories = [ self::CATE_LP => [ 'title' => esc_html__( 'LearnPress', 'learnpress' ), 'icon' => 'eicon-navigator', ], self::CATE_INSTRUCTOR => [ 'title' => esc_html__( 'LearnPress Instructor Sections', 'learnpress' ), 'icon' => 'eicon-navigator', ], self::CATE_COURSE => [ 'title' => esc_html__( 'LearnPress Course Sections', 'learnpress' ), 'icon' => 'eicon-navigator', ], ]; foreach ( $categories as $key => $category ) { $elements_manager->add_category( $key, $category ); } // For case priority categories of LP for El to top. /*$old_categories = $elements_manager->get_categories(); $categories = array_merge( $categories, $old_categories ); $set_categories = function ( $categories ) { $this->categories = $categories; }; $set_categories->call( $elements_manager, $categories );*/ } /** * Register widgets for elementor * * @param $widgets_manager * @return void */ public function register_widgets( $widgets_manager ) { foreach ( $this->config['widgets'] as $widget => $class ) { if ( class_exists( $class ) ) { $widgets_manager->register( new $class() ); } } } /** * Register dynamic tags for elementor * * @param Manager $dynamic_tags * * @return void */ public function register_tags( Manager $dynamic_tags ) { // Register group learn-press-dynamic $dynamic_tags->register_group( self::GROUP_DYNAMIC, array( 'title' => esc_html__( 'LearnPress', 'learnpress' ), ) ); foreach ( $this->config['dynamic'] as $key => $tag_class_name ) { $dynamic_tags->register( new $tag_class_name() ); } } /** * Register callback ajax for load content via ajax. * Of LearnPress * * @param array $callbacks * * @return array * @since 4.2.5.8 * @version 1.0.0 */ public function register_callback_ajax( array $callbacks ): array { return array_merge( $callbacks, $this->config['loadAjax'] ); } }