diff --git a/wp-admin/menu.php b/wp-admin/menu.php index 383abeb799..7bd8bc9435 100644 --- a/wp-admin/menu.php +++ b/wp-admin/menu.php @@ -69,6 +69,8 @@ $submenu['plugins.php'][10] = array(__('Plugin Editor'), 'edit_plugins', 'plugin $submenu['themes.php'][5] = array(__('Themes'), 'switch_themes', 'themes.php'); $submenu['themes.php'][10] = array(__('Theme Editor'), 'edit_themes', 'theme-editor.php'); +do_action('_admin_menu'); + // Create list of page plugin hook names. foreach ($menu as $menu_page) { $admin_page_hooks[$menu_page[2]] = sanitize_title($menu_page[0]); diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 1a1651cc14..97cb86af84 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -1506,13 +1506,14 @@ function wp_parse_args( $args, $defaults = '' ) { function wp_maybe_load_widgets() { if ( !function_exists( 'dynamic_sidebar' ) ) { require_once ABSPATH . WPINC . '/widgets.php'; - add_action( 'admin_head', 'wp_widgets_admin_page' ); + add_action( '_admin_menu', 'wp_widgets_add_menu' ); } } -function wp_widgets_admin_page() { +function wp_widgets_add_menu() { global $submenu; $submenu['themes.php'][7] = array( __( 'Widgets' ), 'edit_themes', 'widgets.php' ); + ksort($submenu['themes.php'], SORT_NUMERIC); } ?> \ No newline at end of file