use Elementor\Container\Container;
use ElementorDeps\DI\Container as DIContainer;
use Elementor\Core\Admin\Menu\Admin_Menu_Manager;
use Elementor\Core\Wp_Api;
use Elementor\Core\Admin\Admin;
use Elementor\Core\Breakpoints\Manager as Breakpoints_Manager;
use Elementor\Core\Common\App as CommonApp;
use Elementor\Core\Debug\Inspector;
use Elementor\Core\Documents_Manager;
use Elementor\Core\Experiments\Manager as Experiments_Manager;
use Elementor\Core\Kits\Manager as Kits_Manager;
use Elementor\Core\Editor\Editor;
use Elementor\Core\Files\Manager as Files_Manager;
use Elementor\Core\Files\Assets\Manager as Assets_Manager;
use Elementor\Core\Modules_Manager;
use Elementor\Core\Settings\Manager as Settings_Manager;
use Elementor\Core\Settings\Page\Manager as Page_Settings_Manager;
use Elementor\Modules\History\Revisions_Manager;
use Elementor\Core\DynamicTags\Manager as Dynamic_Tags_Manager;
use Elementor\Core\Logger\Manager as Log_Manager;
use Elementor\Core\Page_Assets\Loader as Assets_Loader;
use Elementor\Modules\System_Info\Module as System_Info_Module;
use Elementor\Data\Manager as Data_Manager;
use Elementor\Data\V2\Manager as Data_Manager_V2;
use Elementor\Core\Files\Uploads_Manager;
if ( ! defined( 'ABSPATH' ) ) {
* The main plugin handler class is responsible for initializing Elementor. The
* class registers and all the components required to run the plugin.
const ELEMENTOR_DEFAULT_POST_TYPES = [ 'page', 'post' ];
* Holds the plugin instance.
public static $instance = null;
* Holds the plugin database handler which is responsible for communicating
* Holds the plugin controls manager handler is responsible for registering
* and initializing controls.
public $controls_manager;
* Holds the documents manager.
* Holds the plugin elements manager.
public $elements_manager;
* Holds the plugin widgets manager which is responsible for registering and
* Holds the plugin revisions manager which handles history and revisions
public $revisions_manager;
* Holds the plugin images manager which is responsible for retrieving image
* Holds the maintenance mode manager responsible for the "Maintenance Mode"
* and the "Coming Soon" features.
public $maintenance_mode;
* Holds the page settings manager.
* @var Page_Settings_Manager
public $page_settings_manager;
* Holds the dynamic tags manager.
* @var Dynamic_Tags_Manager
* Holds the plugin settings.
* Holds the plugin role manager.
* @var Core\RoleManager\Role_Manager
* Holds the plugin admin.
* Holds the plugin tools.
* Holds the plugin preview.
* Holds the plugin editor.
* Holds the plugin frontend.
* Holds the plugin heartbeat.
* Holds the system info data.
* @var System_Info_Module
* Template library manager.
* Holds the template library manager.
* @var TemplateLibrary\Manager
public $templates_manager;
* Holds the skins manager.
* Holds the plugin files manager.
* Holds the plugin assets manager.
* Holds the plugin icons manager.
* WordPress widgets manager.
* Holds the WordPress widgets manager.
* @var WordPress_Widgets_Manager
public $wordpress_widgets_manager;
* Holds the plugin modules manager.
* Holds the plugin beta testers.
* Holds the plugin inspector data.
* @var Admin_Menu_Manager
public $admin_menu_manager;
* Holds the plugin common functionality.
* Holds the plugin log manager.
* Holds the plugin upgrade manager.
* @var Core\Upgrade\Manager
* Holds the plugin tasks manager.
* @var Core\Upgrade\Custom_Tasks_Manager
* Holds the plugin kits manager.
* @var \Elementor\Data\V2\Manager
* Holds the plugin legacy mode data.
* Holds the plugin app data.
* Holds the methods that interact with WordPress Core API.