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:
@@ -14,23 +14,23 @@ class Custom_Code_Menu_Item implements Admin_Menu_Item {
|
||||
|
||||
const LICENSE_FEATURE_NAME = 'custom_code';
|
||||
|
||||
public function get_capability() {
|
||||
public function get_capability(): string {
|
||||
return CustomCodeModule::CAPABILITY;
|
||||
}
|
||||
|
||||
public function get_label() {
|
||||
public function get_label(): string {
|
||||
return esc_html__( 'Custom Code', 'elementor-pro' );
|
||||
}
|
||||
|
||||
public function get_parent_slug() {
|
||||
public function get_parent_slug(): string {
|
||||
return Settings::PAGE_ID;
|
||||
}
|
||||
|
||||
public function get_position() {
|
||||
public function get_position(): ?int {
|
||||
return null;
|
||||
}
|
||||
|
||||
public function is_visible() {
|
||||
public function is_visible(): bool {
|
||||
return API::is_licence_has_feature( static::LICENSE_FEATURE_NAME, API::BC_VALIDATION_CALLBACK );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace ElementorPro\Modules\CustomCode\EditorOneMenuItems;
|
||||
|
||||
use Elementor\Core\Admin\EditorOneMenu\Interfaces\Menu_Item_Interface;
|
||||
use Elementor\Modules\EditorOne\Classes\Menu_Config;
|
||||
use ElementorPro\Modules\CustomCode\AdminMenuItems\Custom_Code_Menu_Item;
|
||||
use ElementorPro\Modules\CustomCode\Module;
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class Editor_One_Custom_Code_Menu_Item extends Custom_Code_Menu_Item implements Menu_Item_Interface {
|
||||
|
||||
public function get_position(): int {
|
||||
return 30;
|
||||
}
|
||||
|
||||
public function get_slug(): string {
|
||||
return Module::MENU_SLUG;
|
||||
}
|
||||
|
||||
public function get_parent_slug(): string {
|
||||
return Menu_Config::ELEMENTOR_MENU_SLUG;
|
||||
}
|
||||
|
||||
public function get_label(): string {
|
||||
return esc_html__( 'Code', 'elementor-pro' );
|
||||
}
|
||||
|
||||
public function get_group_id(): string {
|
||||
return Menu_Config::CUSTOM_ELEMENTS_GROUP_ID;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace ElementorPro\Modules\CustomCode\EditorOneMenuItems;
|
||||
|
||||
use Elementor\Core\Admin\EditorOneMenu\Interfaces\Menu_Item_Interface;
|
||||
use Elementor\Modules\EditorOne\Classes\Menu_Config;
|
||||
use ElementorPro\Modules\CustomCode\AdminMenuItems\Custom_Code_Promotion_Menu_Item;
|
||||
use ElementorPro\Modules\CustomCode\Module;
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class Editor_One_Custom_Code_Promotion extends Custom_Code_Promotion_Menu_Item implements Menu_Item_Interface {
|
||||
|
||||
public function get_position(): int {
|
||||
return 30;
|
||||
}
|
||||
|
||||
public function get_slug(): string {
|
||||
return Module::PROMOTION_MENU_SLUG;
|
||||
}
|
||||
|
||||
public function get_parent_slug(): string {
|
||||
return Menu_Config::ELEMENTOR_MENU_SLUG;
|
||||
}
|
||||
|
||||
public function get_label(): string {
|
||||
return esc_html__( 'Code', 'elementor-pro' );
|
||||
}
|
||||
|
||||
public function get_group_id(): string {
|
||||
return Menu_Config::CUSTOM_ELEMENTS_GROUP_ID;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,13 +4,17 @@ namespace ElementorPro\Modules\CustomCode;
|
||||
use Elementor\Core\Admin\Menu\Admin_Menu_Manager;
|
||||
use Elementor\Core\Documents_Manager;
|
||||
use Elementor\Icons_Manager;
|
||||
use Elementor\Modules\EditorOne\Classes\Menu_Data_Provider;
|
||||
use Elementor\Settings;
|
||||
use Elementor\TemplateLibrary\Source_Local;
|
||||
use Elementor\Utils;
|
||||
use ElementorPro\Base\Editor_One_Trait;
|
||||
use ElementorPro\Base\Module_Base;
|
||||
use ElementorPro\License\API;
|
||||
use ElementorPro\Modules\CustomCode\AdminMenuItems\Custom_Code_Menu_Item;
|
||||
use ElementorPro\Modules\CustomCode\AdminMenuItems\Custom_Code_Promotion_Menu_Item;
|
||||
use ElementorPro\Modules\CustomCode\EditorOneMenuItems\Editor_One_Custom_Code_Menu_Item;
|
||||
use ElementorPro\Modules\CustomCode\EditorOneMenuItems\Editor_One_Custom_Code_Promotion;
|
||||
use ElementorPro\Modules\CustomCode\ImportExport\Import_Export as Custom_Code_Import_Export;
|
||||
use ElementorPro\Modules\CustomCode\ImportExportCustomization\Import_Export_Customization as Custom_Code_Import_Export_Customization;
|
||||
use ElementorPro\Modules\ThemeBuilder\Classes\Conditions_Manager;
|
||||
@@ -22,6 +26,8 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||
}
|
||||
|
||||
class Module extends Module_Base {
|
||||
use Editor_One_Trait;
|
||||
|
||||
const CAPABILITY = 'manage_options';
|
||||
const CPT = 'elementor_snippet';
|
||||
const MODULE_NAME = 'custom_code';
|
||||
@@ -72,6 +78,10 @@ class Module extends Module_Base {
|
||||
}
|
||||
|
||||
add_action( 'elementor/admin/menu/register', function ( Admin_Menu_Manager $admin_menu_manager ) {
|
||||
if ( $this->is_editor_one_active() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->add_admin_menu( $admin_menu_manager );
|
||||
} );
|
||||
|
||||
@@ -91,6 +101,14 @@ class Module extends Module_Base {
|
||||
);
|
||||
}, /* After custom icons */ 51 );
|
||||
|
||||
add_action( 'elementor/editor-one/menu/register', function ( Menu_Data_Provider $menu_data_provider ) {
|
||||
if ( $this->can_use_custom_code() ) {
|
||||
$menu_data_provider->register_menu( new Editor_One_Custom_Code_Menu_Item() );
|
||||
} else {
|
||||
$menu_data_provider->register_menu( new Editor_One_Custom_Code_Promotion() );
|
||||
}
|
||||
} );
|
||||
|
||||
add_action( 'current_screen', function () {
|
||||
if ( ! is_admin() ) {
|
||||
return;
|
||||
@@ -108,6 +126,12 @@ class Module extends Module_Base {
|
||||
}
|
||||
} );
|
||||
|
||||
add_filter( 'elementor/editor-one/admin-edit-post-types', function ( array $post_types ) {
|
||||
$post_types[] = self::CPT;
|
||||
|
||||
return $post_types;
|
||||
} );
|
||||
|
||||
$this->frontend_actions();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user