<?php namespace ElementorBeta\Core; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Plugin { /** * Class instance. * * @var static */ protected static $instance = null; /** * @var Modules_Manager */ public $modules_manager; /** * Instance. * * Ensures only one instance of the class is loaded or can be loaded. * * @return static An instance of the class. */ public static function instance() { if ( is_null( static::$instance ) ) { static::$instance = new static(); } return static::$instance; } /** * Plugin constructor. */ public function __construct() { $this->modules_manager = new Modules_Manager(); add_action( 'init', [ $this, 'init' ], -1 /* Should run BEFORE Elementor */ ); } /** * Init. */ public function init() { $this->modules_manager->load_modules(); } }