diff --git src/wp-includes/admin-bar.php src/wp-includes/admin-bar.php
index 2bf56a8..244c0dd 100644
|
|
function wp_admin_bar_render() { |
105 | 105 | * @param WP_Admin_Bar $wp_admin_bar |
106 | 106 | */ |
107 | 107 | function wp_admin_bar_wp_menu( $wp_admin_bar ) { |
108 | | $wp_admin_bar->add_menu( array( |
| 108 | $wp_admin_bar->add_node( array( |
109 | 109 | 'id' => 'wp-logo', |
110 | 110 | 'title' => '<span class="ab-icon"></span><span class="screen-reader-text">' . __( 'About WordPress' ) . '</span>', |
111 | 111 | 'href' => self_admin_url( 'about.php' ), |
… |
… |
function wp_admin_bar_wp_menu( $wp_admin_bar ) { |
113 | 113 | |
114 | 114 | if ( is_user_logged_in() ) { |
115 | 115 | // Add "About WordPress" link |
116 | | $wp_admin_bar->add_menu( array( |
| 116 | $wp_admin_bar->add_node( array( |
117 | 117 | 'parent' => 'wp-logo', |
118 | 118 | 'id' => 'about', |
119 | 119 | 'title' => __('About WordPress'), |
… |
… |
function wp_admin_bar_wp_menu( $wp_admin_bar ) { |
122 | 122 | } |
123 | 123 | |
124 | 124 | // Add WordPress.org link |
125 | | $wp_admin_bar->add_menu( array( |
| 125 | $wp_admin_bar->add_node( array( |
126 | 126 | 'parent' => 'wp-logo-external', |
127 | 127 | 'id' => 'wporg', |
128 | 128 | 'title' => __('WordPress.org'), |
… |
… |
function wp_admin_bar_wp_menu( $wp_admin_bar ) { |
130 | 130 | ) ); |
131 | 131 | |
132 | 132 | // Add codex link |
133 | | $wp_admin_bar->add_menu( array( |
| 133 | $wp_admin_bar->add_node( array( |
134 | 134 | 'parent' => 'wp-logo-external', |
135 | 135 | 'id' => 'documentation', |
136 | 136 | 'title' => __('Documentation'), |
… |
… |
function wp_admin_bar_wp_menu( $wp_admin_bar ) { |
138 | 138 | ) ); |
139 | 139 | |
140 | 140 | // Add forums link |
141 | | $wp_admin_bar->add_menu( array( |
| 141 | $wp_admin_bar->add_node( array( |
142 | 142 | 'parent' => 'wp-logo-external', |
143 | 143 | 'id' => 'support-forums', |
144 | 144 | 'title' => __('Support Forums'), |
… |
… |
function wp_admin_bar_wp_menu( $wp_admin_bar ) { |
146 | 146 | ) ); |
147 | 147 | |
148 | 148 | // Add feedback link |
149 | | $wp_admin_bar->add_menu( array( |
| 149 | $wp_admin_bar->add_node( array( |
150 | 150 | 'parent' => 'wp-logo-external', |
151 | 151 | 'id' => 'feedback', |
152 | 152 | 'title' => __('Feedback'), |
… |
… |
function wp_admin_bar_wp_menu( $wp_admin_bar ) { |
163 | 163 | */ |
164 | 164 | function wp_admin_bar_sidebar_toggle( $wp_admin_bar ) { |
165 | 165 | if ( is_admin() ) { |
166 | | $wp_admin_bar->add_menu( array( |
| 166 | $wp_admin_bar->add_node( array( |
167 | 167 | 'id' => 'menu-toggle', |
168 | 168 | 'title' => '<span class="ab-icon"></span><span class="screen-reader-text">' . __( 'Menu' ) . '</span>', |
169 | 169 | 'href' => '#', |
… |
… |
function wp_admin_bar_my_account_item( $wp_admin_bar ) { |
197 | 197 | $howdy = sprintf( __('Howdy, %1$s'), $current_user->display_name ); |
198 | 198 | $class = empty( $avatar ) ? '' : 'with-avatar'; |
199 | 199 | |
200 | | $wp_admin_bar->add_menu( array( |
| 200 | $wp_admin_bar->add_node( array( |
201 | 201 | 'id' => 'my-account', |
202 | 202 | 'parent' => 'top-secondary', |
203 | 203 | 'title' => $howdy . $avatar, |
… |
… |
function wp_admin_bar_my_account_menu( $wp_admin_bar ) { |
241 | 241 | if ( $current_user->display_name !== $current_user->user_login ) |
242 | 242 | $user_info .= "<span class='username'>{$current_user->user_login}</span>"; |
243 | 243 | |
244 | | $wp_admin_bar->add_menu( array( |
| 244 | $wp_admin_bar->add_node( array( |
245 | 245 | 'parent' => 'user-actions', |
246 | 246 | 'id' => 'user-info', |
247 | 247 | 'title' => $user_info, |
… |
… |
function wp_admin_bar_my_account_menu( $wp_admin_bar ) { |
252 | 252 | ) ); |
253 | 253 | |
254 | 254 | if ( false !== $profile_url ) { |
255 | | $wp_admin_bar->add_menu( array( |
| 255 | $wp_admin_bar->add_node( array( |
256 | 256 | 'parent' => 'user-actions', |
257 | 257 | 'id' => 'edit-profile', |
258 | 258 | 'title' => __( 'Edit My Profile' ), |
… |
… |
function wp_admin_bar_my_account_menu( $wp_admin_bar ) { |
260 | 260 | ) ); |
261 | 261 | } |
262 | 262 | |
263 | | $wp_admin_bar->add_menu( array( |
| 263 | $wp_admin_bar->add_node( array( |
264 | 264 | 'parent' => 'user-actions', |
265 | 265 | 'id' => 'logout', |
266 | 266 | 'title' => __( 'Log Out' ), |
… |
… |
function wp_admin_bar_site_menu( $wp_admin_bar ) { |
298 | 298 | |
299 | 299 | $title = wp_html_excerpt( $blogname, 40, '…' ); |
300 | 300 | |
301 | | $wp_admin_bar->add_menu( array( |
| 301 | $wp_admin_bar->add_node( array( |
302 | 302 | 'id' => 'site-name', |
303 | 303 | 'title' => $title, |
304 | 304 | 'href' => ( is_admin() || ! current_user_can( 'read' ) ) ? home_url( '/' ) : admin_url(), |
… |
… |
function wp_admin_bar_site_menu( $wp_admin_bar ) { |
308 | 308 | |
309 | 309 | if ( is_admin() ) { |
310 | 310 | // Add an option to visit the site. |
311 | | $wp_admin_bar->add_menu( array( |
| 311 | $wp_admin_bar->add_node( array( |
312 | 312 | 'parent' => 'site-name', |
313 | 313 | 'id' => 'view-site', |
314 | 314 | 'title' => __( 'Visit Site' ), |
… |
… |
function wp_admin_bar_site_menu( $wp_admin_bar ) { |
316 | 316 | ) ); |
317 | 317 | |
318 | 318 | if ( is_blog_admin() && is_multisite() && current_user_can( 'manage_sites' ) ) { |
319 | | $wp_admin_bar->add_menu( array( |
| 319 | $wp_admin_bar->add_node( array( |
320 | 320 | 'parent' => 'site-name', |
321 | 321 | 'id' => 'edit-site', |
322 | 322 | 'title' => __( 'Edit Site' ), |
… |
… |
function wp_admin_bar_site_menu( $wp_admin_bar ) { |
326 | 326 | |
327 | 327 | } else if ( current_user_can( 'read' ) ) { |
328 | 328 | // We're on the front end, link to the Dashboard. |
329 | | $wp_admin_bar->add_menu( array( |
| 329 | $wp_admin_bar->add_node( array( |
330 | 330 | 'parent' => 'site-name', |
331 | 331 | 'id' => 'dashboard', |
332 | 332 | 'title' => __( 'Dashboard' ), |
… |
… |
function wp_admin_bar_customize_menu( $wp_admin_bar ) { |
354 | 354 | $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; |
355 | 355 | $customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() ); |
356 | 356 | |
357 | | $wp_admin_bar->add_menu( array( |
| 357 | $wp_admin_bar->add_node( array( |
358 | 358 | 'id' => 'customize', |
359 | 359 | 'title' => __( 'Customize' ), |
360 | 360 | 'href' => $customize_url, |
… |
… |
function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { |
387 | 387 | $my_sites_url = admin_url( 'my-sites.php' ); |
388 | 388 | } |
389 | 389 | |
390 | | $wp_admin_bar->add_menu( array( |
| 390 | $wp_admin_bar->add_node( array( |
391 | 391 | 'id' => 'my-sites', |
392 | 392 | 'title' => __( 'My Sites' ), |
393 | 393 | 'href' => $my_sites_url, |
… |
… |
function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { |
399 | 399 | 'id' => 'my-sites-super-admin', |
400 | 400 | ) ); |
401 | 401 | |
402 | | $wp_admin_bar->add_menu( array( |
| 402 | $wp_admin_bar->add_node( array( |
403 | 403 | 'parent' => 'my-sites-super-admin', |
404 | 404 | 'id' => 'network-admin', |
405 | 405 | 'title' => __('Network Admin'), |
406 | 406 | 'href' => network_admin_url(), |
407 | 407 | ) ); |
408 | 408 | |
409 | | $wp_admin_bar->add_menu( array( |
| 409 | $wp_admin_bar->add_node( array( |
410 | 410 | 'parent' => 'network-admin', |
411 | 411 | 'id' => 'network-admin-d', |
412 | 412 | 'title' => __( 'Dashboard' ), |
413 | 413 | 'href' => network_admin_url(), |
414 | 414 | ) ); |
415 | | $wp_admin_bar->add_menu( array( |
| 415 | $wp_admin_bar->add_node( array( |
416 | 416 | 'parent' => 'network-admin', |
417 | 417 | 'id' => 'network-admin-s', |
418 | 418 | 'title' => __( 'Sites' ), |
419 | 419 | 'href' => network_admin_url( 'sites.php' ), |
420 | 420 | ) ); |
421 | | $wp_admin_bar->add_menu( array( |
| 421 | $wp_admin_bar->add_node( array( |
422 | 422 | 'parent' => 'network-admin', |
423 | 423 | 'id' => 'network-admin-u', |
424 | 424 | 'title' => __( 'Users' ), |
425 | 425 | 'href' => network_admin_url( 'users.php' ), |
426 | 426 | ) ); |
427 | | $wp_admin_bar->add_menu( array( |
| 427 | $wp_admin_bar->add_node( array( |
428 | 428 | 'parent' => 'network-admin', |
429 | 429 | 'id' => 'network-admin-t', |
430 | 430 | 'title' => __( 'Themes' ), |
431 | 431 | 'href' => network_admin_url( 'themes.php' ), |
432 | 432 | ) ); |
433 | | $wp_admin_bar->add_menu( array( |
| 433 | $wp_admin_bar->add_node( array( |
434 | 434 | 'parent' => 'network-admin', |
435 | 435 | 'id' => 'network-admin-p', |
436 | 436 | 'title' => __( 'Plugins' ), |
437 | 437 | 'href' => network_admin_url( 'plugins.php' ), |
438 | 438 | ) ); |
439 | | $wp_admin_bar->add_menu( array( |
| 439 | $wp_admin_bar->add_node( array( |
440 | 440 | 'parent' => 'network-admin', |
441 | 441 | 'id' => 'network-admin-o', |
442 | 442 | 'title' => __( 'Settings' ), |
… |
… |
function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { |
466 | 466 | |
467 | 467 | $menu_id = 'blog-' . $blog->userblog_id; |
468 | 468 | |
469 | | $wp_admin_bar->add_menu( array( |
| 469 | $wp_admin_bar->add_node( array( |
470 | 470 | 'parent' => 'my-sites-list', |
471 | 471 | 'id' => $menu_id, |
472 | 472 | 'title' => $blavatar . $blogname, |
473 | 473 | 'href' => admin_url(), |
474 | 474 | ) ); |
475 | 475 | |
476 | | $wp_admin_bar->add_menu( array( |
| 476 | $wp_admin_bar->add_node( array( |
477 | 477 | 'parent' => $menu_id, |
478 | 478 | 'id' => $menu_id . '-d', |
479 | 479 | 'title' => __( 'Dashboard' ), |
… |
… |
function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { |
481 | 481 | ) ); |
482 | 482 | |
483 | 483 | if ( current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) { |
484 | | $wp_admin_bar->add_menu( array( |
| 484 | $wp_admin_bar->add_node( array( |
485 | 485 | 'parent' => $menu_id, |
486 | 486 | 'id' => $menu_id . '-n', |
487 | 487 | 'title' => __( 'New Post' ), |
… |
… |
function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { |
490 | 490 | } |
491 | 491 | |
492 | 492 | if ( current_user_can( 'edit_posts' ) ) { |
493 | | $wp_admin_bar->add_menu( array( |
| 493 | $wp_admin_bar->add_node( array( |
494 | 494 | 'parent' => $menu_id, |
495 | 495 | 'id' => $menu_id . '-c', |
496 | 496 | 'title' => __( 'Manage Comments' ), |
… |
… |
function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { |
498 | 498 | ) ); |
499 | 499 | } |
500 | 500 | |
501 | | $wp_admin_bar->add_menu( array( |
| 501 | $wp_admin_bar->add_node( array( |
502 | 502 | 'parent' => $menu_id, |
503 | 503 | 'id' => $menu_id . '-v', |
504 | 504 | 'title' => __( 'Visit Site' ), |
… |
… |
function wp_admin_bar_shortlink_menu( $wp_admin_bar ) { |
525 | 525 | |
526 | 526 | $html = '<input class="shortlink-input" type="text" readonly="readonly" value="' . esc_attr( $short ) . '" />'; |
527 | 527 | |
528 | | $wp_admin_bar->add_menu( array( |
| 528 | $wp_admin_bar->add_node( array( |
529 | 529 | 'id' => $id, |
530 | 530 | 'title' => __( 'Shortlink' ), |
531 | 531 | 'href' => $short, |
… |
… |
function wp_admin_bar_edit_menu( $wp_admin_bar ) { |
560 | 560 | if ( 'draft' == $post->post_status ) { |
561 | 561 | $draft_link = set_url_scheme( get_permalink( $post->ID ) ); |
562 | 562 | $preview_link = get_preview_post_link( $post, array(), $draft_link ); |
563 | | $wp_admin_bar->add_menu( array( |
| 563 | $wp_admin_bar->add_node( array( |
564 | 564 | 'id' => 'preview', |
565 | 565 | 'title' => $post_type_object->labels->view_item, |
566 | 566 | 'href' => esc_url( $preview_link ), |
567 | 567 | 'meta' => array( 'target' => 'wp-preview-' . $post->ID ), |
568 | 568 | ) ); |
569 | 569 | } else { |
570 | | $wp_admin_bar->add_menu( array( |
| 570 | $wp_admin_bar->add_node( array( |
571 | 571 | 'id' => 'view', |
572 | 572 | 'title' => $post_type_object->labels->view_item, |
573 | 573 | 'href' => get_permalink( $post->ID ) |
… |
… |
function wp_admin_bar_edit_menu( $wp_admin_bar ) { |
578 | 578 | && ( $tax = get_taxonomy( $tag->taxonomy ) ) |
579 | 579 | && $tax->public ) |
580 | 580 | { |
581 | | $wp_admin_bar->add_menu( array( |
| 581 | $wp_admin_bar->add_node( array( |
582 | 582 | 'id' => 'view', |
583 | 583 | 'title' => $tax->labels->view_item, |
584 | 584 | 'href' => get_term_link( $tag ) |
… |
… |
function wp_admin_bar_edit_menu( $wp_admin_bar ) { |
596 | 596 | && $post_type_object->show_in_admin_bar |
597 | 597 | && $edit_post_link = get_edit_post_link( $current_object->ID ) ) |
598 | 598 | { |
599 | | $wp_admin_bar->add_menu( array( |
| 599 | $wp_admin_bar->add_node( array( |
600 | 600 | 'id' => 'edit', |
601 | 601 | 'title' => $post_type_object->labels->edit_item, |
602 | 602 | 'href' => $edit_post_link |
… |
… |
function wp_admin_bar_edit_menu( $wp_admin_bar ) { |
606 | 606 | && current_user_can( $tax->cap->edit_terms ) |
607 | 607 | && $edit_term_link = get_edit_term_link( $current_object->term_id, $current_object->taxonomy ) ) |
608 | 608 | { |
609 | | $wp_admin_bar->add_menu( array( |
| 609 | $wp_admin_bar->add_node( array( |
610 | 610 | 'id' => 'edit', |
611 | 611 | 'title' => $tax->labels->edit_item, |
612 | 612 | 'href' => $edit_term_link |
… |
… |
function wp_admin_bar_new_content_menu( $wp_admin_bar ) { |
661 | 661 | |
662 | 662 | $title = '<span class="ab-icon"></span><span class="ab-label">' . _x( 'New', 'admin bar menu group label' ) . '</span>'; |
663 | 663 | |
664 | | $wp_admin_bar->add_menu( array( |
| 664 | $wp_admin_bar->add_node( array( |
665 | 665 | 'id' => 'new-content', |
666 | 666 | 'title' => $title, |
667 | 667 | 'href' => admin_url( current( array_keys( $actions ) ) ), |
… |
… |
function wp_admin_bar_new_content_menu( $wp_admin_bar ) { |
670 | 670 | foreach ( $actions as $link => $action ) { |
671 | 671 | list( $title, $id ) = $action; |
672 | 672 | |
673 | | $wp_admin_bar->add_menu( array( |
| 673 | $wp_admin_bar->add_node( array( |
674 | 674 | 'parent' => 'new-content', |
675 | 675 | 'id' => $id, |
676 | 676 | 'title' => $title, |
… |
… |
function wp_admin_bar_comments_menu( $wp_admin_bar ) { |
697 | 697 | $icon = '<span class="ab-icon"></span>'; |
698 | 698 | $title = '<span id="ab-awaiting-mod" class="ab-label awaiting-mod pending-count count-' . $awaiting_mod . '">' . number_format_i18n( $awaiting_mod ) . '</span>'; |
699 | 699 | |
700 | | $wp_admin_bar->add_menu( array( |
| 700 | $wp_admin_bar->add_node( array( |
701 | 701 | 'id' => 'comments', |
702 | 702 | 'title' => $icon . $title, |
703 | 703 | 'href' => admin_url('edit-comments.php'), |
… |
… |
function wp_admin_bar_appearance_menu( $wp_admin_bar ) { |
716 | 716 | $wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'appearance' ) ); |
717 | 717 | |
718 | 718 | if ( current_user_can( 'switch_themes' ) ) { |
719 | | $wp_admin_bar->add_menu( array( |
| 719 | $wp_admin_bar->add_node( array( |
720 | 720 | 'parent' => 'appearance', |
721 | 721 | 'id' => 'themes', |
722 | 722 | 'title' => __( 'Themes' ), |
… |
… |
function wp_admin_bar_appearance_menu( $wp_admin_bar ) { |
729 | 729 | } |
730 | 730 | |
731 | 731 | if ( current_theme_supports( 'widgets' ) ) { |
732 | | $wp_admin_bar->add_menu( array( |
| 732 | $wp_admin_bar->add_node( array( |
733 | 733 | 'parent' => 'appearance', |
734 | 734 | 'id' => 'widgets', |
735 | 735 | 'title' => __( 'Widgets' ), |
… |
… |
function wp_admin_bar_appearance_menu( $wp_admin_bar ) { |
738 | 738 | } |
739 | 739 | |
740 | 740 | if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) |
741 | | $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'menus', 'title' => __('Menus'), 'href' => admin_url('nav-menus.php') ) ); |
| 741 | $wp_admin_bar->add_node( array( 'parent' => 'appearance', 'id' => 'menus', 'title' => __('Menus'), 'href' => admin_url('nav-menus.php') ) ); |
742 | 742 | |
743 | 743 | if ( current_theme_supports( 'custom-background' ) ) { |
744 | | $wp_admin_bar->add_menu( array( |
| 744 | $wp_admin_bar->add_node( array( |
745 | 745 | 'parent' => 'appearance', |
746 | 746 | 'id' => 'background', |
747 | 747 | 'title' => __( 'Background' ), |
… |
… |
function wp_admin_bar_appearance_menu( $wp_admin_bar ) { |
753 | 753 | } |
754 | 754 | |
755 | 755 | if ( current_theme_supports( 'custom-header' ) ) { |
756 | | $wp_admin_bar->add_menu( array( |
| 756 | $wp_admin_bar->add_node( array( |
757 | 757 | 'parent' => 'appearance', |
758 | 758 | 'id' => 'header', |
759 | 759 | 'title' => __( 'Header' ), |
… |
… |
function wp_admin_bar_updates_menu( $wp_admin_bar ) { |
783 | 783 | $title = '<span class="ab-icon"></span><span class="ab-label">' . number_format_i18n( $update_data['counts']['total'] ) . '</span>'; |
784 | 784 | $title .= '<span class="screen-reader-text">' . $update_data['title'] . '</span>'; |
785 | 785 | |
786 | | $wp_admin_bar->add_menu( array( |
| 786 | $wp_admin_bar->add_node( array( |
787 | 787 | 'id' => 'updates', |
788 | 788 | 'title' => $title, |
789 | 789 | 'href' => network_admin_url( 'update-core.php' ), |
… |
… |
function wp_admin_bar_search_menu( $wp_admin_bar ) { |
810 | 810 | $form .= '<input type="submit" class="adminbar-button" value="' . __('Search') . '"/>'; |
811 | 811 | $form .= '</form>'; |
812 | 812 | |
813 | | $wp_admin_bar->add_menu( array( |
| 813 | $wp_admin_bar->add_node( array( |
814 | 814 | 'parent' => 'top-secondary', |
815 | 815 | 'id' => 'search', |
816 | 816 | 'title' => $form, |
diff --git src/wp-includes/class-wp-admin-bar.php src/wp-includes/class-wp-admin-bar.php
index 2fa3135..961f143 100644
|
|
class WP_Admin_Bar { |
82 | 82 | } |
83 | 83 | |
84 | 84 | /** |
85 | | * @param array $node |
| 85 | * Add a node (menu item) to the Admin Bar menu. |
| 86 | * |
| 87 | * @since 3.3.0 |
| 88 | * @since 4.5.0 Deprecated in favor of `WP_Admin_Bar::add_node()`. |
| 89 | * |
| 90 | * @param array $node The attributes that define the node. |
86 | 91 | */ |
87 | 92 | public function add_menu( $node ) { |
| 93 | _deprecated_function( __METHOD__, '4.5.0', __CLASS__ . '::add_node()' ); |
88 | 94 | $this->add_node( $node ); |
89 | 95 | } |
90 | 96 | |