PluginProbe
Elementor Website Builder – more than just a page builder / 3.2.0
Elementor Website Builder – more than just a page builder v3.2.0
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
← All changes | core/base/module.php +28 -0 3.1.43.2.0 View file →
@@ -1,7 +1,9 @@
1 1 <?php
2 2 namespace Elementor\Core\Base;
3 3
4 +use Elementor\Plugin;
5 +
4 6 if ( ! defined( 'ABSPATH' ) ) {
5 7 exit; // Exit if accessed directly.
6 8 }
7 9
@@ -299,6 +301,32 @@
299 301 * @return string
300 302 */
301 303 protected function get_assets_relative_url() {
302 304 return 'assets/';
305 + }
306 +
307 + /**
308 + * Get the module's associated widgets.
309 + *
310 + * @return string[]
311 + */
312 + protected function get_widgets() {
313 + return [];
314 + }
315 +
316 + /**
317 + * Initialize the module related widgets.
318 + */
319 + public function init_widgets() {
320 + $widget_manager = Plugin::instance()->widgets_manager;
321 +
322 + foreach ( $this->get_widgets() as $widget ) {
323 + $class_name = $this->get_reflection()->getNamespaceName() . '\Widgets\\' . $widget;
324 +
325 + $widget_manager->register_widget_type( new $class_name() );
326 + }
327 + }
328 +
329 + public function __construct() {
330 + add_action( 'elementor/widgets/widgets_registered', [ $this, 'init_widgets' ] );
303 331 }
304 332 }