include_widgets_files(); // Register Widgets \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Wpstream_Player_Base() ); \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Wpstream_Chat_Base() ); \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Wpstream_Player_LowLatecy_Base() ); \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Wpstream_Start_Streaming_Base() ); \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Wpstream_Media_List_Channel() ); \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Wpstream_Media_List_Vod() ); } /** * Plugin class constructor * * Register plugin action hooks and filters * * @since 1.2.0 * @access public */ public function add_elementor_widget_categories($elements_manager){ $elements_manager->add_category( 'wpstream', [ 'title' => __( 'WpStream Widgets', 'hello-wpstream' ), 'icon' => 'fa fa-home', ] ); } public function __construct() { // Register widget scripts add_action( 'elementor/frontend/after_register_scripts', [ $this, 'widget_scripts' ] ); // Register widgets add_action( 'elementor/widgets/widgets_registered', [ $this, 'register_widgets' ] ); add_action( 'elementor/elements/categories_registered', [ $this, 'add_elementor_widget_categories' ] ); } } // Instantiate Plugin Class Plugin_Base::instance();