From 5e7876622ea144c666ead833bd04822a713925b3 Mon Sep 17 00:00:00 2001 From: whyisjake Date: Sun, 3 Nov 2019 22:14:01 +0000 Subject: [PATCH] Toolbar: Use `add_node()` instead of `add_menu()` in core. This patch replaces all references to the add_menu() method with the add_node() one. (Also some code structure modifications for wp_admin_bar_appearance_menu().) Fixes: #19647 Props: linuxologos, paulschreiber, morganestes, akibjorklund, nacin, whyisjake. Built from https://develop.svn.wordpress.org/trunk@46642 git-svn-id: http://core.svn.wordpress.org/trunk@46442 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/admin-bar.php | 98 +++++++++++++++--------------- wp-includes/class-wp-admin-bar.php | 16 ++++- wp-includes/version.php | 2 +- 3 files changed, 64 insertions(+), 52 deletions(-) diff --git a/wp-includes/admin-bar.php b/wp-includes/admin-bar.php index 19d668c633..77ab5848ee 100644 --- a/wp-includes/admin-bar.php +++ b/wp-includes/admin-bar.php @@ -131,11 +131,11 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) { ); } - $wp_admin_bar->add_menu( $wp_logo_menu_args ); + $wp_admin_bar->add_node( $wp_logo_menu_args ); if ( $about_url ) { // Add "About WordPress" link - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'wp-logo', 'id' => 'about', @@ -146,7 +146,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) { } // Add WordPress.org link - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'wp-logo-external', 'id' => 'wporg', @@ -156,7 +156,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) { ); // Add codex link - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'wp-logo-external', 'id' => 'documentation', @@ -166,7 +166,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) { ); // Add forums link - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'wp-logo-external', 'id' => 'support-forums', @@ -176,7 +176,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) { ); // Add feedback link - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'wp-logo-external', 'id' => 'feedback', @@ -195,7 +195,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) { */ function wp_admin_bar_sidebar_toggle( $wp_admin_bar ) { if ( is_admin() ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'menu-toggle', 'title' => '' . __( 'Menu' ) . '', @@ -233,7 +233,7 @@ function wp_admin_bar_my_account_item( $wp_admin_bar ) { $howdy = sprintf( __( 'Howdy, %s' ), '' . $current_user->display_name . '' ); $class = empty( $avatar ) ? '' : 'with-avatar'; - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'my-account', 'parent' => 'top-secondary', @@ -283,7 +283,7 @@ function wp_admin_bar_my_account_menu( $wp_admin_bar ) { $user_info .= "{$current_user->user_login}"; } - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'user-actions', 'id' => 'user-info', @@ -296,7 +296,7 @@ function wp_admin_bar_my_account_menu( $wp_admin_bar ) { ); if ( false !== $profile_url ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'user-actions', 'id' => 'edit-profile', @@ -306,7 +306,7 @@ function wp_admin_bar_my_account_menu( $wp_admin_bar ) { ); } - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'user-actions', 'id' => 'logout', @@ -350,7 +350,7 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) { $title = wp_html_excerpt( $blogname, 40, '…' ); - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'site-name', 'title' => $title, @@ -362,7 +362,7 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) { if ( is_admin() ) { // Add an option to visit the site. - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'site-name', 'id' => 'view-site', @@ -372,7 +372,7 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) { ); if ( is_blog_admin() && is_multisite() && current_user_can( 'manage_sites' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'site-name', 'id' => 'edit-site', @@ -383,7 +383,7 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) { } } elseif ( current_user_can( 'read' ) ) { // We're on the front end, link to the Dashboard. - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'site-name', 'id' => 'dashboard', @@ -428,7 +428,7 @@ function wp_admin_bar_customize_menu( $wp_admin_bar ) { $customize_url = add_query_arg( array( 'changeset_uuid' => $wp_customize->changeset_uuid() ), $customize_url ); } - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'customize', 'title' => __( 'Customize' ), @@ -465,7 +465,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { $my_sites_url = admin_url( 'my-sites.php' ); } - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'my-sites', 'title' => __( 'My Sites' ), @@ -481,7 +481,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { ) ); - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'my-sites-super-admin', 'id' => 'network-admin', @@ -490,7 +490,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { ) ); - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'network-admin', 'id' => 'network-admin-d', @@ -500,7 +500,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { ); if ( current_user_can( 'manage_sites' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'network-admin', 'id' => 'network-admin-s', @@ -511,7 +511,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { } if ( current_user_can( 'manage_network_users' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'network-admin', 'id' => 'network-admin-u', @@ -522,7 +522,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { } if ( current_user_can( 'manage_network_themes' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'network-admin', 'id' => 'network-admin-t', @@ -533,7 +533,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { } if ( current_user_can( 'manage_network_plugins' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'network-admin', 'id' => 'network-admin-p', @@ -544,7 +544,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { } if ( current_user_can( 'manage_network_options' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'network-admin', 'id' => 'network-admin-o', @@ -580,7 +580,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { $menu_id = 'blog-' . $blog->userblog_id; if ( current_user_can( 'read' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'my-sites-list', 'id' => $menu_id, @@ -589,7 +589,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { ) ); - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => $menu_id, 'id' => $menu_id . '-d', @@ -598,7 +598,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { ) ); } else { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'my-sites-list', 'id' => $menu_id, @@ -609,7 +609,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { } if ( current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => $menu_id, 'id' => $menu_id . '-n', @@ -620,7 +620,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { } if ( current_user_can( 'edit_posts' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => $menu_id, 'id' => $menu_id . '-c', @@ -630,7 +630,7 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { ); } - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => $menu_id, 'id' => $menu_id . '-v', @@ -660,7 +660,7 @@ function wp_admin_bar_shortlink_menu( $wp_admin_bar ) { $html = ''; - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => $id, 'title' => __( 'Shortlink' ), @@ -702,7 +702,7 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) { && ( $post_type_object->show_in_admin_bar ) ) { if ( 'draft' == $post->post_status ) { $preview_link = get_preview_post_link( $post ); - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'preview', 'title' => $post_type_object->labels->view_item, @@ -711,7 +711,7 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) { ) ); } else { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'view', 'title' => $post_type_object->labels->view_item, @@ -735,7 +735,7 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) { } elseif ( 'term' == $current_screen->base && isset( $tag ) && is_object( $tag ) && ! is_wp_error( $tag ) ) { $tax = get_taxonomy( $tag->taxonomy ); if ( is_taxonomy_viewable( $tax ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'view', 'title' => $tax->labels->view_item, @@ -747,7 +747,7 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) { $user_object = get_userdata( $user_id ); $view_link = get_author_posts_url( $user_object->ID ); if ( $user_object->exists() && $view_link ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'view', 'title' => __( 'View User' ), @@ -770,7 +770,7 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) { && $edit_post_link && current_user_can( 'edit_post', $current_object->ID ) && $post_type_object->show_in_admin_bar ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'edit', 'title' => $post_type_object->labels->edit_item, @@ -782,7 +782,7 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) { $tax = get_taxonomy( $current_object->taxonomy ); $edit_term_link = get_edit_term_link( $current_object->term_id, $current_object->taxonomy ); if ( $tax && $edit_term_link && current_user_can( 'edit_term', $current_object->term_id ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'edit', 'title' => $tax->labels->edit_item, @@ -793,7 +793,7 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) { } elseif ( is_a( $current_object, 'WP_User' ) && current_user_can( 'edit_user', $current_object->ID ) ) { $edit_user_link = get_edit_user_link( $current_object->ID ); if ( $edit_user_link ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'edit', 'title' => __( 'Edit User' ), @@ -859,7 +859,7 @@ function wp_admin_bar_new_content_menu( $wp_admin_bar ) { $title = '' . _x( 'New', 'admin bar menu group label' ) . ''; - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'new-content', 'title' => $title, @@ -870,7 +870,7 @@ function wp_admin_bar_new_content_menu( $wp_admin_bar ) { foreach ( $actions as $link => $action ) { list( $title, $id ) = $action; - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'new-content', 'id' => $id, @@ -905,7 +905,7 @@ function wp_admin_bar_comments_menu( $wp_admin_bar ) { $title = ''; $title .= '' . $awaiting_text . ''; - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'comments', 'title' => $icon . $title, @@ -930,7 +930,7 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) { ); if ( current_user_can( 'switch_themes' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'appearance', 'id' => 'themes', @@ -945,7 +945,7 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) { } if ( current_theme_supports( 'widgets' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'appearance', 'id' => 'widgets', @@ -956,7 +956,7 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) { } if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'appearance', 'id' => 'menus', @@ -967,7 +967,7 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) { } if ( current_theme_supports( 'custom-background' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'appearance', 'id' => 'background', @@ -981,7 +981,7 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) { } if ( current_theme_supports( 'custom-header' ) ) { - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'appearance', 'id' => 'header', @@ -1014,7 +1014,7 @@ function wp_admin_bar_updates_menu( $wp_admin_bar ) { $title = '' . number_format_i18n( $update_data['counts']['total'] ) . ''; $title .= '' . $update_data['title'] . ''; - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'id' => 'updates', 'title' => $title, @@ -1044,7 +1044,7 @@ function wp_admin_bar_search_menu( $wp_admin_bar ) { $form .= ''; $form .= ''; - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'top-secondary', 'id' => 'search', @@ -1073,7 +1073,7 @@ function wp_admin_bar_recovery_mode_menu( $wp_admin_bar ) { $url = add_query_arg( 'action', WP_Recovery_Mode::EXIT_ACTION, $url ); $url = wp_nonce_url( $url, WP_Recovery_Mode::EXIT_ACTION ); - $wp_admin_bar->add_menu( + $wp_admin_bar->add_node( array( 'parent' => 'top-secondary', 'id' => 'recovery-mode', diff --git a/wp-includes/class-wp-admin-bar.php b/wp-includes/class-wp-admin-bar.php index 0522f53f1a..2a137e746e 100644 --- a/wp-includes/class-wp-admin-bar.php +++ b/wp-includes/class-wp-admin-bar.php @@ -82,16 +82,28 @@ class WP_Admin_Bar { } /** - * @param array $node + * Add a node (menu item) to the Admin Bar menu. + * + * @since 3.3.0 + * @since 5.4.0 Deprecated in favor of {@see WP_Admin_Bar::add_node()}. + * + * @param array $node The attributes that define the node. */ public function add_menu( $node ) { + _deprecated_function( __METHOD__, '5.4.0', __CLASS__ . '::add_node()' ); $this->add_node( $node ); } /** - * @param string $id + * Remove a node from the admin bar. + * + * @since 3.1.0 + * @since 5.4.0 Deprecated in favor of {@see WP_Admin_Bar::remove_node()}. + * + * @param string $id The menu slug to remove. */ public function remove_menu( $id ) { + _deprecated_function( __METHOD__, '5.4.0', __CLASS__ . '::remove_node()' ); $this->remove_node( $id ); } diff --git a/wp-includes/version.php b/wp-includes/version.php index 9ae1be41fc..697396032c 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -13,7 +13,7 @@ * * @global string $wp_version */ -$wp_version = '5.4-alpha-46641'; +$wp_version = '5.4-alpha-46642'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.