RARY_TAB_GROUP, Source_Local::ADMIN_MENU_SLUG )
);
add_submenu_page(
Source_Local::ADMIN_MENU_SLUG,
'',
__( 'Theme Builder', 'elementor-pro' ),
'publish_posts',
$this->get_site_editor_url()
);
}
private function register_admin_menu( Admin_Menu_Manager $admin_menu_manager ) {
$experiments_manager = Plugin::elementor()->experiments;
// Unique case when the experiments manager is not initialized yet.
if ( ! $experiments_manager || ! $experiments_manager->is_feature_active( 'theme_builder_v2' ) ) {
return;
}
$admin_menu_manager->unregister( add_query_arg( 'tabs_group', ThemeBuilderModule::ADMIN_LIBRARY_TAB_GROUP, Source_Local::ADMIN_MENU_SLUG ) );
$admin_menu_manager->register(
$this->get_site_editor_url(),
new Theme_Builder_Menu_Item()
);
}
private function add_finder_item( array $categories ) {
if ( ! Plugin::elementor()->experiments->is_feature_active( 'theme_builder_v2' ) ) {
return $categories;
}
// Replace the old theme builder "create-new" link with the new site-editor.
$categories['create']['items']['theme-template'] = [
'title' => __( 'Add New Theme Template', 'elementor-pro' ),
'icon' => 'plus-circle-o',
'url' => $this->get_site_editor_url() . '/add-new',
'keywords' => [ 'template', 'theme', 'new', 'create' ],
];
return $categories;
}
/**
* Module constructor.
*
* @access public
*/
public function __construct() {
$this->lock = new Feature_Lock( [ 'type' => 'theme-builder' ] );
Plugin::elementor()->data_manager->register_controller( Controller::class );
add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ], 11 /* Override core actions */ );
add_action( 'elementor/frontend/render_mode/register', [ $this, 'register_render_mode' ] );
add_action( 'elementor/experiments/default-features-registered', function ( ExperimentsManager $manager ) {
$this->add_default_new_site_editor_experiments( $manager );
} );
add_action( 'elementor/admin/menu/register', function ( Admin_Menu_Manager $admin_menu ) {
$this->register_admin_menu( $admin_menu );
}, Theme_Builder_Table_View::ADMIN_MENU_PRIORITY + 1 );
// TODO: BC - Remove after `Admin_Menu_Manager` will be the standard.
add_action( 'admin_menu', function () {
if ( did_action( 'elementor/admin/menu/register' ) ) {
return;
}
$this->register_site_editor_menu();
}, 23 /* After old theme builder */ );
add_filter( 'elementor/finder/categories', function ( array $categories ) {
return $this->add_finder_item( $categories );
}, 11 /* After old theme builder */ );
}
}
Fatal error: Uncaught Error: Class 'ElementorPro\Core\App\Modules\SiteEditor\Module' not found in /home/sportuga/public_html/wp-content/plugins/pro-elements/core/app/app.php:86
Stack trace:
#0 /home/sportuga/public_html/wp-content/plugins/pro-elements/plugin.php(483): ElementorPro\Core\App\App->__construct()
#1 /home/sportuga/public_html/wp-content/plugins/pro-elements/plugin.php(134): ElementorPro\Plugin->__construct()
#2 /home/sportuga/public_html/wp-content/plugins/pro-elements/plugin.php(552): ElementorPro\Plugin::instance()
#3 /home/sportuga/public_html/wp-content/plugins/pro-elements/pro-elements.php(75): require('/home/sportuga/...')
#4 /home/sportuga/public_html/wp-includes/class-wp-hook.php(324): pro_elements_load_plugin_func('')
#5 /home/sportuga/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#6 /home/sportuga/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#7 /home/sportuga/public_html/wp-settings.php(550): do_action('plugins_loaded')
#8 /home/sportuga/pub in /home/sportuga/public_html/wp-content/plugins/pro-elements/core/app/app.php on line 86