| @@ -1,8 +1,12 @@ | ||
| 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 | 10 | exit; |
| 7 | 11 | } |
| 8 | 12 | |
| @@ -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 | } |