amedea__include_widgets_files(); // Get the namespace $namespace = __NAMESPACE__ . '\\Widgets\\amedea__'; // Register widgets foreach (glob(__DIR__ . '/widgets/*/*.php') as $filename) { $className = str_replace("-","_",$namespace . basename($filename, '.php')); \Elementor\Plugin::instance()->widgets_manager->register_widget_type(new $className()); } } //category registered public function amedea__add_elementor_categories( $elements_manager ) { $elements_manager->add_category( 'amedea-category', [ 'title' => esc_html__( 'Amedea', 'amedea' ), 'icon' => 'fa fa-plug', ] ); $elements_manager->add_category( 'amedea-theme-widgets-category', [ 'title' => esc_html__( 'Amedea:Theme Widgets', 'amedea' ), 'icon' => 'fa fa-plug', ] ); } /** * Plugin class constructor * * Register plugin action hooks and filters * * @since 1.0.0 * @access public */ public function __construct() { // Enqueue widget styles add_action( 'elementor/frontend/after_register_styles', [ $this, 'amedea__widget_styles' ] , 100 ); add_action( 'admin_enqueue_scripts', [ $this, 'amedea__widget_styles' ] , 100 ); // Enqueue widget scripts add_action( 'elementor/frontend/after_register_scripts', [ $this, 'amedea__widget_scripts' ], 100 ); // Register widgets add_action( 'elementor/widgets/widgets_registered', [ $this, 'amedea__register_widgets' ] ); // Category registered add_action( 'elementor/elements/categories_registered', [ $this,'amedea__add_elementor_categories' ]); } } // Instantiate Plugin Class Amedea::instance();