add_actions(); } /** * Add Actions * * @since 1.0.0 * * @access private */ private function add_actions() { // Elementor 3.5+ uses elementor/widgets/register; older versions use widgets_registered if ( defined( 'ELEMENTOR_VERSION' ) && version_compare( ELEMENTOR_VERSION, '3.5.0', '>=' ) ) { add_action( 'elementor/widgets/register', [ $this, 'on_widgets_registered' ] ); } else { add_action( 'elementor/widgets/widgets_registered', [ $this, 'on_widgets_registered' ] ); } //font css per icone add_action( 'elementor/editor/before_enqueue_scripts', function () { wp_enqueue_style( 'Wpvr-elementor',plugins_url( '../assets/admin.css', __FILE__ ) ); } ); add_action( 'elementor/frontend/after_register_scripts', function() { wp_register_script( 'Wpvr-elementor', 'script path', [ 'jquery' ], false, true ); } ); } /** * On Widgets Registered * * @since 1.0.0 * * @access public */ public function on_widgets_registered() { $this->includes(); $this->register_widget(); } /** * Includes * * @since 1.0.0 * * @access private */ private function includes() { /* * Return Wpvr widget file path * i.e. PATH.'elementor/elements/Wpvr-element.php' */ require __DIR__.'/elements/Wpvr-widget.php'; } /** * Register Widget * * @since 1.0.0 * * @access private */ private function register_widget() { $widgets_manager = \Elementor\Plugin::instance()->widgets_manager; // Elementor 3.5+ uses register(); older uses register_widget_type() if ( method_exists( $widgets_manager, 'register' ) ) { $widgets_manager->register( new Wpvr_Widget() ); } else { $widgets_manager->register_widget_type( new Wpvr_Widget() ); } } } new WpvrElementor();