mirror of
https://github.com/proelements/proelements.git
synced 2026-04-05 20:13:47 +00:00
v3.35.0
This commit is contained in:
@@ -9,23 +9,23 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||
}
|
||||
|
||||
class Theme_Builder_Menu_Item implements Admin_Menu_Item {
|
||||
public function get_capability() {
|
||||
public function get_capability(): string {
|
||||
return 'publish_posts';
|
||||
}
|
||||
|
||||
public function get_label() {
|
||||
public function get_label(): string {
|
||||
return esc_html__( 'Theme Builder', 'elementor-pro' );
|
||||
}
|
||||
|
||||
public function get_parent_slug() {
|
||||
public function get_parent_slug(): string {
|
||||
return Source_Local::ADMIN_MENU_SLUG;
|
||||
}
|
||||
|
||||
public function is_visible() {
|
||||
public function is_visible(): bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function get_position() {
|
||||
return null;
|
||||
public function get_position(): ?int {
|
||||
return 20;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace ElementorPro\Modules\ThemeBuilder\EditorOneMenuItems;
|
||||
|
||||
use Elementor\Core\Admin\EditorOneMenu\Interfaces\Menu_Item_Third_Level_Interface;
|
||||
use Elementor\Core\Admin\EditorOneMenu\Interfaces\Menu_Item_With_Custom_Url_Interface;
|
||||
use Elementor\Modules\EditorOne\Classes\Menu_Config;
|
||||
use Elementor\Plugin;
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class Editor_One_Theme_Builder_Menu_Item implements Menu_Item_Third_Level_Interface, Menu_Item_With_Custom_Url_Interface {
|
||||
public function get_position(): int {
|
||||
return 85; // After apps (Image Optimization=2, Accessibility=80), before Submissions (100)
|
||||
}
|
||||
|
||||
public function get_slug(): string {
|
||||
return 'elementor-theme-builder';
|
||||
}
|
||||
|
||||
public function get_parent_slug(): string {
|
||||
return Menu_Config::ELEMENTOR_HOME_MENU_SLUG;
|
||||
}
|
||||
|
||||
public function get_label(): string {
|
||||
return esc_html__( 'Theme Builder', 'elementor-pro' );
|
||||
}
|
||||
|
||||
public function get_group_id(): string {
|
||||
return Menu_Config::EDITOR_GROUP_ID;
|
||||
}
|
||||
|
||||
public function get_capability(): string {
|
||||
return 'publish_posts';
|
||||
}
|
||||
|
||||
public function is_visible(): bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function get_icon(): string {
|
||||
return 'build';
|
||||
}
|
||||
|
||||
public function has_children(): bool {
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get_menu_url(): string {
|
||||
$return_to = esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ?? '' ) );
|
||||
|
||||
return add_query_arg(
|
||||
[
|
||||
'return_to' => urlencode( $return_to ),
|
||||
],
|
||||
Plugin::instance()->app->get_base_url()
|
||||
) . '#/site-editor';
|
||||
}
|
||||
|
||||
public function get_page_title(): string {
|
||||
return esc_html__( 'Theme Builder', 'elementor-pro' );
|
||||
}
|
||||
|
||||
public function render(): void {
|
||||
}
|
||||
}
|
||||
@@ -7,14 +7,17 @@ use Elementor\Core\Admin\Menu\Admin_Menu_Manager;
|
||||
use Elementor\Core\Admin\Menu\Main as MainMenu;
|
||||
use Elementor\Core\App\App;
|
||||
use Elementor\Core\Base\Document;
|
||||
use Elementor\Modules\EditorOne\Classes\Menu_Config;
|
||||
use Elementor\Modules\EditorOne\Classes\Menu_Data_Provider;
|
||||
use Elementor\TemplateLibrary\Source_Local;
|
||||
use Elementor\App\Modules\ImportExportCustomization\Utils as ImportExportCustomizationUtils;
|
||||
use ElementorPro\Base\Editor_One_Trait;
|
||||
use ElementorPro\Base\Module_Base;
|
||||
use ElementorPro\Core\Utils;
|
||||
use ElementorPro\Modules\ThemeBuilder\AdminMenuItems\Theme_Builder_Menu_Item;
|
||||
use ElementorPro\Modules\ThemeBuilder\Classes;
|
||||
use ElementorPro\Modules\ThemeBuilder\Documents\Single;
|
||||
use ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document;
|
||||
use ElementorPro\Modules\ThemeBuilder\EditorOneMenuItems\Editor_One_Theme_Builder_Menu_Item;
|
||||
use ElementorPro\Modules\ThemeBuilder\ImportExportCustomization;
|
||||
use ElementorPro\Plugin;
|
||||
|
||||
@@ -23,10 +26,12 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||
}
|
||||
|
||||
class Module extends Module_Base {
|
||||
use Editor_One_Trait;
|
||||
|
||||
const ADMIN_LIBRARY_TAB_GROUP = 'theme';
|
||||
|
||||
const ADMIN_MENU_PRIORITY = 15;
|
||||
const THEME_BUILDER_MENU_PRIORITY_BEFORE_SUBMISSIONS = 5;
|
||||
|
||||
public static function is_preview() {
|
||||
return Plugin::elementor()->preview->is_preview_mode() || is_preview();
|
||||
@@ -467,6 +472,10 @@ class Module extends Module_Base {
|
||||
} );
|
||||
} else {
|
||||
add_action( 'elementor/admin/menu/register', function ( Admin_Menu_Manager $admin_menu ) {
|
||||
if ( $this->is_editor_one_active() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->register_admin_menu_legacy( $admin_menu );
|
||||
}, static::ADMIN_MENU_PRIORITY /* After "Popups" */ );
|
||||
|
||||
@@ -484,6 +493,10 @@ class Module extends Module_Base {
|
||||
$this->get_admin_templates_url( true )
|
||||
);
|
||||
}, 22 /* After core promotion menu */ );
|
||||
|
||||
add_action( 'elementor/editor-one/menu/register', function ( Menu_Data_Provider $menu_data_provider ) {
|
||||
$menu_data_provider->register_menu( new Editor_One_Theme_Builder_Menu_Item() );
|
||||
}, static::THEME_BUILDER_MENU_PRIORITY_BEFORE_SUBMISSIONS );
|
||||
}
|
||||
|
||||
add_filter( 'elementor/template-library/create_new_dialog_types', [ $this, 'create_new_dialog_types' ] );
|
||||
|
||||
Reference in New Issue
Block a user