Saturday, November 5, 2022
HomeWordPress DevelopmentThe right way to register new elementor widget in features.php

The right way to register new elementor widget in features.php


I am making an attempt to register new Elementor Widget with out making a plugin.
So I want to register it in my features.php

Relating to to Elementor developper’s information, I would like to make use of :

perform register_new_widgets( $widgets_manager ) {

    require_once( __DIR__ . '/widgets/widget-1.php' );
    require_once( __DIR__ . '/widgets/widget-2.php' );

    $widgets_manager->register( new Elementor_Widget_1() );
    $widgets_manager->register( new Elementor_Widget_2() );

}
add_action( 'elementor/widgets/register', 'register_new_widgets' );

Maybe, I used to be having a deadly error saying my Class would not exists.
After a protracted search I uncover that was as a result of Elementor class hasn’t been loaded but when registering this new courses and that I would like to make use of Elementor Initialization to get my Widget loaded solely when Elementor will load different widgets.

So concerning this doc, I’ve made one thing comparable as :

closing class Plugin {

    /**
     * Initialize
     *
     * Load the addons performance solely after Elementor is initialized.
     *
     * Fired by `elementor/init` motion hook.
     *
     * @since 1.0.0
     * @entry public
     */
    public perform init() {

        add_action( 'elementor/widgets/register', [ $this, 'register_widgets' ] );

    }

    /**
     * Register Widgets
     *
     * Load widgets information and register new Elementor widgets.
     *
     * Fired by `elementor/widgets/register` motion hook.
     *
     * @param ElementorWidgets_Manager $widgets_manager Elementor widgets supervisor.
     */
    public perform register_widgets( $widgets_manager ) {

        require_once( __DIR__ . '/contains/widgets/widget-1.php' );
        require_once( __DIR__ . '/contains/widgets/widget-2.php' );

        $widgets_manager->register( new Widget_1() );
        $widgets_manager->register( new Widget_2() );

    }

}

So now I’ve no extra deadly error, however I am unable to see my widget in my Elementor widgets.

Did I do it proper ? Or did I miss one thing ?

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments