PluginProbe
Elementor Website Builder – more than just a page builder / 3.23.0-dev3
Elementor Website Builder – more than just a page builder v3.23.0-dev3
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
← All changes | core/admin/menu/main.php +60 -2 4.2.43.23.0-dev3 View file →
@@ -1,10 +1,14 @@
1 1 <?php
2 2
3 3 namespace Elementor\Core\Admin\Menu;
4 4
5 +use Elementor\Plugin;
6 +use Elementor\TemplateLibrary\Source_Local;
7 +use Elementor\Tools;
8 +
5 9 if ( ! defined( 'ABSPATH' ) ) {
6 - exit;
10 + exit; // Exit if accessed directly
7 11 }
8 12
9 13 class Main extends Base {
10 14
@@ -13,9 +17,63 @@
13 17 'page_title' => esc_html__( 'Elementor', 'elementor' ),
14 18 'menu_title' => esc_html__( 'Elementor', 'elementor' ),
15 19 'capability' => 'manage_options',
16 20 'menu_slug' => 'elementor',
17 - 'function' => null,
21 + 'function' => [ Plugin::$instance->settings, 'display_settings_page' ],
18 22 'position' => 58.5,
19 23 ];
24 + }
25 +
26 + protected function get_init_options() {
27 + return [
28 + 'separator' => true,
29 + ];
30 + }
31 +
32 + protected function register_default_submenus() {
33 + $this->add_submenu( [
34 + 'page_title' => esc_html_x( 'Templates', 'Template Library', 'elementor' ),
35 + 'menu_title' => esc_html_x( 'Templates', 'Template Library', 'elementor' ),
36 + 'menu_slug' => Source_Local::ADMIN_MENU_SLUG,
37 + 'index' => 0,
38 + ] );
39 +
40 + $this->add_submenu( [
41 + 'menu_title' => esc_html__( 'Help', 'elementor' ),
42 + 'menu_slug' => 'go_knowledge_base_site',
43 + 'function' => [ Plugin::$instance->settings, 'handle_external_redirects' ],
44 + 'index' => 150,
45 + ] );
46 + }
47 +
48 + protected function register() {
49 + parent::register();
50 +
51 + $this->rearrange_elementor_submenu();
52 + }
53 +
54 + private function rearrange_elementor_submenu() {
55 + global $submenu;
56 +
57 + $elementor_menu_slug = $this->get_args( 'menu_slug' );
58 +
59 + $elementor_submenu_old_index = null;
60 +
61 + $tools_submenu_index = null;
62 +
63 + foreach ( $submenu[ $elementor_menu_slug ] as $index => $submenu_item ) {
64 + if ( $elementor_menu_slug === $submenu_item[2] ) {
65 + $elementor_submenu_old_index = $index;
66 + } elseif ( Tools::PAGE_ID === $submenu_item[2] ) {
67 + $tools_submenu_index = $index;
68 +
69 + break;
70 + }
71 + }
72 +
73 + $elementor_submenu = array_splice( $submenu[ $elementor_menu_slug ], $elementor_submenu_old_index, 1 );
74 +
75 + $elementor_submenu[0][0] = esc_html__( 'Settings', 'elementor' );
76 +
77 + array_splice( $submenu[ $elementor_menu_slug ], $tools_submenu_index, 0, $elementor_submenu );
20 78 }
21 79 }