PluginProbe
Elementor Website Builder – more than just a page builder / 3.7.2
Elementor Website Builder – more than just a page builder v3.7.2
4.3.0-beta3 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 All 452 releases
← All changes | core/admin/menu/admin-menu-manager.php +10 -14 4.1.0-dev33.7.2 View file →
@@ -2,13 +2,12 @@
2 2
3 3 namespace Elementor\Core\Admin\Menu;
4 4
5 5 use Elementor\Core\Admin\Menu\Interfaces\Admin_Menu_Item;
6 -use Elementor\Core\Admin\Menu\Interfaces\Admin_Menu_Item_Has_Position;
7 6 use Elementor\Core\Admin\Menu\Interfaces\Admin_Menu_Item_With_Page;
8 7
9 8 if ( ! defined( 'ABSPATH' ) ) {
10 - exit; // Exit if accessed directly.
9 + exit; // Exit if accessed directly
11 10 }
12 11
13 12 class Admin_Menu_Manager {
14 13
@@ -49,39 +48,35 @@
49 48
50 49 private function register_wp_menus() {
51 50 do_action( 'elementor/admin/menu/register', $this );
52 51
53 - $hooks = [];
54 -
55 52 foreach ( $this->get_all() as $item_slug => $item ) {
56 53 $is_top_level = empty( $item->get_parent_slug() );
57 54
58 55 if ( $is_top_level ) {
59 - $hooks[ $item_slug ] = $this->register_top_level_menu( $item_slug, $item );
56 + $this->register_top_level_menu( $item_slug, $item );
60 57 } else {
61 - $hooks[ $item_slug ] = $this->register_sub_menu( $item_slug, $item );
58 + $this->register_sub_menu( $item_slug, $item );
62 59 }
63 60 }
64 61
65 - do_action( 'elementor/admin/menu/after_register', $this, $hooks );
62 + do_action( 'elementor/admin/menu/after_register', $this );
66 63 }
67 64
68 65 private function register_top_level_menu( $item_slug, Admin_Menu_Item $item ) {
69 66 $has_page = ( $item instanceof Admin_Menu_Item_With_Page );
70 - $has_position = ( $item instanceof Admin_Menu_Item_Has_Position );
71 67
72 68 $page_title = $has_page ? $item->get_page_title() : '';
73 69 $callback = $has_page ? [ $item, 'render' ] : '';
74 - $position = $has_position ? $item->get_position() : null;
75 70
76 - return add_menu_page(
71 + add_menu_page(
77 72 $page_title,
78 73 $item->get_label(),
79 74 $item->get_capability(),
80 75 $item_slug,
81 76 $callback,
82 - '',
83 - $position
77 + '', // TODO: Add support?
78 + $item->get_position()
84 79 );
85 80 }
86 81
87 82 private function register_sub_menu( $item_slug, Admin_Menu_Item $item ) {
@@ -89,15 +84,16 @@
89 84
90 85 $page_title = $has_page ? $item->get_page_title() : '';
91 86 $callback = $has_page ? [ $item, 'render' ] : '';
92 87
93 - return add_submenu_page(
88 + add_submenu_page(
94 89 $item->get_parent_slug(),
95 90 $page_title,
96 91 $item->get_label(),
97 92 $item->get_capability(),
98 93 $item_slug,
99 - $callback
94 + $callback,
95 + $item->get_position()
100 96 );
101 97 }
102 98
103 99 private function hide_invisible_menus() {