Changeset 14283
- Timestamp:
- 12/16/2024 07:56:10 PM (3 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/buddypress.org/public_html/wp-content/plugins/buddypress-org/toolbar.php
r10864 r14283 8 8 */ 9 9 function bporg_toolbar_tweaks() { 10 remove_action( 'admin_bar_menu', 'wp_admin_bar_search_menu', 4 ); 11 remove_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 ); 12 remove_action( 'admin_bar_menu', 'wp_admin_bar_site_menu', 30 ); 13 remove_action( 'admin_bar_menu', 'wp_admin_bar_customize_menu', 40 ); 14 remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 60 ); 15 remove_action( 'admin_bar_menu', 'wp_admin_bar_new_content_menu', 70 ); 16 remove_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 80 ); 10 11 // WordPress Menus 12 remove_action( 'admin_bar_menu', 'wp_admin_bar_sidebar_toggle', 0 ); 13 remove_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 ); 14 remove_action( 'admin_bar_menu', 'wp_admin_bar_site_menu', 30 ); 15 remove_action( 'admin_bar_menu', 'wp_admin_bar_edit_site_menu', 40 ); 16 remove_action( 'admin_bar_menu', 'wp_admin_bar_customize_menu', 40 ); 17 remove_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 50 ); 18 remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 60 ); 19 remove_action( 'admin_bar_menu', 'wp_admin_bar_new_content_menu', 70 ); 20 remove_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 80 ); 21 remove_action( 'admin_bar_menu', 'wp_admin_bar_my_account_item', 9991 ); 22 remove_action( 'admin_bar_menu', 'wp_admin_bar_recovery_mode_menu', 9992 ); 23 remove_action( 'admin_bar_menu', 'wp_admin_bar_search_menu', 9999 ); 17 24 18 25 // BuddyPress Menus 19 26 remove_action( 'bp_setup_admin_bar', 'bp_members_admin_bar_my_account_menu', 4 ); 27 28 // WordPress.org Profiles site specific removals 29 if ( 'profiles.wordpress.org' === $_SERVER['HTTP_HOST'] ) { 30 remove_action( 'admin_bar_menu', 'bp_groups_group_admin_menu', 99 ); 31 remove_action( 'admin_bar_menu', 'bp_admin_bar_my_account_root', 100 ); 32 } 20 33 } 21 34 add_action( 'add_admin_bar_menus', 'bporg_toolbar_tweaks', 11 ); … … 28 41 */ 29 42 function bporg_remove_about_pages( $wp_admin_bar ) { 43 44 // About page links 30 45 $wp_admin_bar->remove_menu( 'bp-about' ); 31 46 $wp_admin_bar->remove_menu( 'bbp-about' ); 32 47 } 33 48 add_action( 'admin_bar_menu', 'bporg_remove_about_pages', 99 ); 49 50 /** 51 * Remove the BuddyPress XProfile 52 * @author johnjamesjacoby 53 * @since 1.1.0 54 */ 55 function bporg_remove_my_account_items( $wp_admin_bar ) { 56 $wp_admin_bar->remove_menu( 'my-account-blogs' ); 57 $wp_admin_bar->remove_menu( 'my-account-xprofile-edit' ); 58 $wp_admin_bar->remove_menu( 'my-account-xprofile-change-avatar' ); 59 } 60 add_action( 'admin_bar_menu', 'bporg_remove_my_account_items', 99 ); 61 62 /** 63 * Prevent the BuddyPress Component admin-bar nav items from being added. 64 * 65 * This function adds filters to return false inside of the 66 * BP_Component::setup_admin_bar() methods. 67 * 68 * WordPress.org & BuddyPress.org implement their own user profile flow. The 69 * relevant components all have their 70 * 71 * @author johnjamesjacoby 72 * @since 1.1.0 73 */ 74 function bporg_remove_component_menu_items() { 75 76 // BuddyPress 77 $components = bp_core_get_active_components(); 78 79 // bbPress 80 if ( ! array_search( 'forums', $components, true ) ) { 81 array_push( $components, 'forums' ); 82 } 83 84 // Filter admin-nav for all components 85 foreach ( $components as $component ) { 86 add_filter( 'bp_' . $component . '_admin_nav', '__return_false' ); 87 } 88 } 89 add_action( 'bp_init', 'bporg_remove_component_menu_items', 99 ); 34 90 35 91 /** … … 58 114 'id' => 'wordpress', 59 115 'title' => __( 'WordPress.org' ), 60 'href' => 'https://wordpress.org',116 'href' => 'https://wordpress.org', 61 117 ) ); 62 118 … … 71 127 // Add codex link 72 128 $wp_admin_bar->add_menu( array( 73 'parent' 74 'id' 75 'title' => __('Documentation'),76 'href' 129 'parent' => 'wordpress', 130 'id' => 'wp-documentation', 131 'title' => __( 'Documentation' ), 132 'href' => 'https://codex.wordpress.org/', 77 133 ) ); 78 134 79 135 // Add forums link 80 136 $wp_admin_bar->add_menu( array( 81 'parent' 82 'id' 83 'title' => __('Support Forums'),84 'href' 137 'parent' => 'wordpress', 138 'id' => 'wp-support-forums', 139 'title' => __( 'Support Forums' ), 140 'href' => 'https://wordpress.org/support/', 85 141 ) ); 86 142 87 143 // Add feedback link 88 144 $wp_admin_bar->add_menu( array( 89 'parent' 90 'id' 91 'title' => __('Feedback'),92 'href' 145 'parent' => 'wordpress', 146 'id' => 'wp-feedback', 147 'title' => __( 'Feedback' ), 148 'href' => 'https://wordpress.org/support/forum/requests-and-feedback', 93 149 ) ); 94 150 … … 123 179 'id' => 'bbpress', 124 180 'title' => __( 'bbPress.org' ), 125 'href' => 'https://bbpress.org',181 'href' => 'https://bbpress.org', 126 182 ) ); 127 183 … … 136 192 // Add codex link 137 193 $wp_admin_bar->add_menu( array( 138 'parent' 139 'id' 140 'title' 141 'href' 194 'parent' => 'bbpress', 195 'id' => 'bbp-documentation', 196 'title' => __( 'Documentation' ), 197 'href' => 'https://codex.bbpress.org/', 142 198 ) ); 143 199 144 200 // Add forums link 145 201 $wp_admin_bar->add_menu( array( 146 'parent' 147 'id' 148 'title' 149 'href' 202 'parent' => 'bbpress', 203 'id' => 'bbp-support-forums', 204 'title' => __( 'Support Forums' ), 205 'href' => __( 'https://bbpress.org/forums/' ), 150 206 ) ); 151 207 152 208 // Add feedback link 153 209 $wp_admin_bar->add_menu( array( 154 'parent' 155 'id' 156 'title' 157 'href' 210 'parent' => 'bbpress', 211 'id' => 'bbp-feedback', 212 'title' => __( 'Feedback' ), 213 'href' => 'https://bbpress.org/forums/forum/requests-and-feedback', 158 214 ) ); 159 215 … … 188 244 'id' => 'buddypress', 189 245 'title' => __( 'BuddyPress.org' ), 190 'href' => 'https://buddypress.org',246 'href' => 'https://buddypress.org', 191 247 ) ); 192 248 … … 201 257 // Add codex link 202 258 $wp_admin_bar->add_menu( array( 203 'parent' 204 'id' 205 'title' 206 'href' 259 'parent' => 'buddypress', 260 'id' => 'bp-documentation', 261 'title' => __( 'Documentation' ), 262 'href' => 'https://codex.buddypress.org/', 207 263 ) ); 208 264 209 265 // Add forums link 210 266 $wp_admin_bar->add_menu( array( 211 'parent' 212 'id' 213 'title' 214 'href' 267 'parent' => 'buddypress', 268 'id' => 'bp-support-forums', 269 'title' => __( 'Support Forums' ), 270 'href' => 'https://buddypress.org/support/', 215 271 ) ); 216 272 217 273 // Add feedback link 218 274 $wp_admin_bar->add_menu( array( 219 'parent' 220 'id' 221 'title' 222 'href' 275 'parent' => 'buddypress', 276 'id' => 'bp-feedback', 277 'title' => __( 'Feedback' ), 278 'href' => 'https://buddypress.org/support/forum/feedback/', 223 279 ) ); 224 280 … … 251 307 * Add a new "Site Name" menu with less things for average users to do 252 308 * 253 *254 309 * @author johnjamesjacoby 255 310 * @since 1.0.2 … … 257 312 function bporg_new_admin_bar_site_menu( $wp_admin_bar ) { 258 313 259 // Profiles260 if ( 'profiles.wordpress.org' == $_SERVER['HTTP_HOST'] ) {261 $wp_admin_bar->add_menu( array(262 'id' => 'bp-site-name',263 'title' => __( 'WordPress.org' ),264 'href' => 'https://wordpress.org'265 ) );266 267 return;268 269 // bbPress Network270 } elseif ( strstr( $_SERVER['HTTP_HOST'], 'bbpress.org' ) ) {271 $wp_admin_bar->add_menu( array(272 'id' => 'bp-site-name',273 'title' => __( 'bbPress.org' ),274 'href' => 'https://bbpress.org'275 ) );276 277 return;278 279 // BuddyPress Network280 } else {281 $wp_admin_bar->add_menu( array(282 'id' => 'bp-site-name',283 'title' => __( 'BuddyPress.org' ),284 'href' => 'https://buddypress.org'285 ) );286 }287 288 314 // Create submenu items. 289 290 315 if ( is_user_logged_in() ) { 291 316 292 // Add a link to create a new topic. 293 $wp_admin_bar->add_menu( array( 294 'id' => 'bp-new-topic', 295 'title' => __( 'Create New Topic' ), 296 'href' => 'https://buddypress.org/support/new-topic/' 297 ) ); 298 299 // Add an option to visit the admin dashboard 300 if ( is_super_admin() ) { 301 302 $wp_admin_bar->add_group( array( 303 'parent' => 'bp-site-name', 304 'id' => 'bp-site-name-super-admin', 305 'meta' => array( 306 'class' => 'ab-sub-secondary', 307 ), 308 ) ); 309 317 if ( is_main_site() ) { 318 319 // Add a link to create a new topic. 310 320 $wp_admin_bar->add_menu( array( 311 ' parent' => 'bp-site-name-super-admin',312 ' id' => 'bp-admin-link',313 'title' => __( ' Admin Dashbooard' ),314 'href' => get_admin_url()321 'id' => 'bp-new-topic', 322 'parent' => 'top-secondary', 323 'title' => __( 'Create New Topic' ), 324 'href' => 'https://buddypress.org/support/new-topic/' 315 325 ) ); 316 326 } … … 320 330 $wp_admin_bar->add_menu( array( 321 331 'id' => 'bp-login', 332 'parent' => 'top-secondary', 322 333 'title' => __( 'Log in' ), 323 334 'href' => wp_login_url(), … … 325 336 } 326 337 } 327 add_action( 'admin_bar_menu', 'bporg_new_admin_bar_site_menu', 2 0);338 add_action( 'admin_bar_menu', 'bporg_new_admin_bar_site_menu', 2 ); 328 339 329 340 /** … … 386 397 'href' => wp_registration_url(), 387 398 ) ); 399 388 400 $wp_admin_bar->add_menu( array( 389 401 'parent' => 'user-actions', … … 403 415 */ 404 416 function bporg_admin_bar_my_account_item( $wp_admin_bar ) { 405 406 if ( is_user_logged_in() ) 407 return; 408 409 $avatar = get_avatar( 0, 16, 'mystery' ); 410 $howdy = __( 'Anonymous' ); 411 $class = empty( $avatar ) ? '' : 'with-avatar'; 412 413 $wp_admin_bar->add_menu( array( 414 'id' => 'my-account', 415 'parent' => 'top-secondary', 416 'title' => $howdy . $avatar, 417 'href' => wp_login_url(), 418 'meta' => array( 419 'class' => $class, 420 'title' => __('My Account'), 421 ), 422 ) ); 423 } 424 add_action( 'admin_bar_menu', 'bporg_admin_bar_my_account_item', 0 ); 425 426 /** 427 * Force toolbar styling into looking like sub-navigation 428 * 429 * Note: slightly experimental - kind of a hack 430 * 431 * @author johnjamesjacoby 432 * @since 1.0.3 433 */ 434 function bporg_toolbar_css_overrides() { 435 ?> 436 <style type="text/css"> 437 /* Admin Bar */ 438 <?php if ( is_main_site() && is_front_page() ) : ?> 439 #wpadminbar { display: none !important; } 440 <?php else : ?> 441 #wpadminbar { color: #555; background: #eee; top: 81px; border-bottom: 1px solid #ddd; height: 42px; } 442 #wpadminbar #wp-toolbar a.ab-item, #wpadminbar .quicklinks li#wp-admin-bar-bp-notifications > a { padding: 5px; } 443 #wpadminbar #wp-toolbar ul.ab-submenu a.ab-item { padding: 0 2em 0 1em; } 444 #wpadminbar #wp-toolbar .ab-top-secondary .menupop .menupop > a.ab-item { padding: 0 1em 0 2em; } 445 #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon { color: #555; } 446 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after { color: #d84800; } 447 #wpadminbar .ab-top-menu > li:hover > .ab-item, 448 #wpadminbar .ab-top-menu > li.hover > .ab-item, 449 #wpadminbar .ab-top-menu > li > .ab-item:focus, 450 #wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus, 451 #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, 452 #wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item, 453 #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item { color: #555; background: #e2e2e2; } 454 #wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label { color: #555; } 455 #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before { color: #999; } 456 457 /* Admin Bar: submenu */ 458 #wpadminbar .menupop .ab-sub-wrapper { background: #e2e2e2; } 459 #wpadminbar .quicklinks .menupop .ab-submenu { background: #e2e2e2; } 460 #wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu { background: #d2d2d2; } 461 #wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a { color: #555; } 462 #wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before { color: #f1f1f3; } 463 #wpadminbar .quicklinks .menupop ul li a:hover, 464 #wpadminbar .quicklinks .menupop ul li a:focus, 465 #wpadminbar .quicklinks .menupop ul li a:hover strong, 466 #wpadminbar .quicklinks .menupop ul li a:focus strong, 467 #wpadminbar .quicklinks .menupop.hover ul li a:hover, 468 #wpadminbar .quicklinks .menupop.hover ul li a:focus, 469 #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, 470 #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, 471 #wpadminbar li:hover .ab-icon:before, 472 #wpadminbar li:hover .ab-item:before, 473 #wpadminbar li a:focus .ab-icon:before, 474 #wpadminbar li .ab-item:focus:before, 475 #wpadminbar li.hover .ab-icon:before, 476 #wpadminbar li.hover .ab-item:before, 477 #wpadminbar li:hover .ab-item:after, 478 #wpadminbar li.hover .ab-item:after, 479 #wpadminbar li:hover #adminbarsearch:before { color: #d84800; } 480 #wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before { color: #d84800; } 481 482 /* Admin Bar: my account */ 483 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img { border-color: #e2e2e2; background-color: #e2e2e2; } 484 #wpadminbar #wp-admin-bar-user-info .display-name { color: #555; } 485 #wpadminbar #wp-admin-bar-user-info a:hover .display-name { color: #d84800; } 486 #wpadminbar #wp-admin-bar-user-info .username { color: #000; } 487 488 /* Some responsive'ish tweaks */ 489 @media screen and ( max-width: 460px ) { 490 #wpadminbar { 491 height: 56px; 492 } 493 #wpadminbar #wp-toolbar a.ab-item, 494 #wpadminbar .quicklinks li#wp-admin-bar-bp-notifications > a { padding: 0; } 495 } 496 497 <?php endif; ?> 498 </style> 499 <?php 500 } 501 502 // These toolbar modifications are for the buddypress.org network only. 503 // (Do not override the toolbar for profiles.wordpress.org) 504 if ( $_SERVER['HTTP_HOST'] !== 'profiles.wordpress.org' ) { 505 add_theme_support( 'admin-bar', array( 'callback' => 'bporg_toolbar_css_overrides' ) ); 506 } 417 $user_id = get_current_user_id(); 418 $current_user = wp_get_current_user(); 419 420 // Logged out 421 if ( empty( $user_id ) ) { 422 $howdy = __( 'Anonymous' ); 423 $avatar = get_avatar( 0, 16, 'mystery' ); 424 $class = empty( $avatar ) ? '' : 'with-avatar'; 425 426 $wp_admin_bar->add_menu( array( 427 'id' => 'my-account', 428 'parent' => 'top-secondary', 429 'title' => $howdy . $avatar, 430 'href' => wp_login_url(), 431 'meta' => array( 432 'class' => $class, 433 'title' => __( 'My Account' ), 434 ), 435 ) ); 436 437 // Logged in 438 } else { 439 if ( current_user_can( 'read' ) ) { 440 $profile_url = get_edit_profile_url( $user_id ); 441 } elseif ( is_multisite() ) { 442 $profile_url = get_dashboard_url( $user_id, 'profile.php' ); 443 } else { 444 $profile_url = false; 445 } 446 447 $howdy = '<span class="display-name">' . $current_user->display_name . '</span>'; 448 $avatar = get_avatar( $user_id, 26 ); 449 $class = empty( $avatar ) ? '' : 'with-avatar'; 450 451 $wp_admin_bar->add_node( 452 array( 453 'id' => 'my-account', 454 'parent' => 'top-secondary', 455 'title' => $howdy . $avatar, 456 'href' => $profile_url, 457 'meta' => array( 458 'class' => $class, 459 'menu_title' => $current_user->display_name, 460 'tabindex' => ( false !== $profile_url ) ? '' : 0, 461 ), 462 ) 463 ); 464 } 465 } 466 add_action( 'admin_bar_menu', 'bporg_admin_bar_my_account_item', 9991 );
Note: See TracChangeset
for help on using the changeset viewer.