diff --git src/bp-activity/classes/class-bp-activity-component.php src/bp-activity/classes/class-bp-activity-component.php
index 4f85efb..d112f17 100644
--- src/bp-activity/classes/class-bp-activity-component.php
+++ src/bp-activity/classes/class-bp-activity-component.php
@@ -168,68 +168,74 @@ class BP_Activity_Component extends BP_Component {
 			'position'            => 10,
 			'screen_function'     => 'bp_activity_screen_my_activity',
 			'default_subnav_slug' => 'just-me',
-			'item_css_id'         => $this->id
+			'item_css_id'         => $this->id,
+			'show_in_admin_bar'   => true,
 		);
 
 		// Add the subnav items to the activity nav item if we are using a theme that supports this.
 		$sub_nav[] = array(
-			'name'            => _x( 'Personal', 'Profile activity screen sub nav', 'buddypress' ),
-			'slug'            => 'just-me',
-			'parent_url'      => $activity_link,
-			'parent_slug'     => $slug,
-			'screen_function' => 'bp_activity_screen_my_activity',
-			'position'        => 10
+			'name'              => _x( 'Personal', 'Profile activity screen sub nav', 'buddypress' ),
+			'slug'              => 'just-me',
+			'parent_url'        => $activity_link,
+			'parent_slug'       => $slug,
+			'screen_function'   => 'bp_activity_screen_my_activity',
+			'position'          => 10,
+			'show_in_admin_bar' => true,
 		);
 
 		// Check @mentions.
 		if ( bp_activity_do_mentions() ) {
 			$sub_nav[] = array(
-				'name'            => _x( 'Mentions', 'Profile activity screen sub nav', 'buddypress' ),
-				'slug'            => 'mentions',
-				'parent_url'      => $activity_link,
-				'parent_slug'     => $slug,
-				'screen_function' => 'bp_activity_screen_mentions',
-				'position'        => 20,
-				'item_css_id'     => 'activity-mentions'
+				'name'              => _x( 'Mentions', 'Profile activity screen sub nav', 'buddypress' ),
+				'slug'              => 'mentions',
+				'parent_url'        => $activity_link,
+				'parent_slug'       => $slug,
+				'screen_function'   => 'bp_activity_screen_mentions',
+				'position'          => 20,
+				'item_css_id'       => 'activity-mentions',
+				'show_in_admin_bar' => true,
 			);
 		}
 
 		// Favorite activity items.
 		if ( bp_activity_can_favorite() ) {
 			$sub_nav[] = array(
-				'name'            => _x( 'Favorites', 'Profile activity screen sub nav', 'buddypress' ),
-				'slug'            => 'favorites',
-				'parent_url'      => $activity_link,
-				'parent_slug'     => $slug,
-				'screen_function' => 'bp_activity_screen_favorites',
-				'position'        => 30,
-				'item_css_id'     => 'activity-favs'
+				'name'              => _x( 'Favorites', 'Profile activity screen sub nav', 'buddypress' ),
+				'slug'              => 'favorites',
+				'parent_url'        => $activity_link,
+				'parent_slug'       => $slug,
+				'screen_function'   => 'bp_activity_screen_favorites',
+				'position'          => 30,
+				'item_css_id'       => 'activity-favs',
+				'show_in_admin_bar' => true,
 			);
 		}
 
 		// Additional menu if friends is active.
 		if ( bp_is_active( 'friends' ) ) {
 			$sub_nav[] = array(
-				'name'            => _x( 'Friends', 'Profile activity screen sub nav', 'buddypress' ),
-				'slug'            => bp_get_friends_slug(),
-				'parent_url'      => $activity_link,
-				'parent_slug'     => $slug,
-				'screen_function' => 'bp_activity_screen_friends',
-				'position'        => 40,
-				'item_css_id'     => 'activity-friends'
+				'name'              => _x( 'Friends', 'Profile activity screen sub nav', 'buddypress' ),
+				'slug'              => bp_get_friends_slug(),
+				'parent_url'        => $activity_link,
+				'parent_slug'       => $slug,
+				'screen_function'   => 'bp_activity_screen_friends',
+				'position'          => 40,
+				'item_css_id'       => 'activity-friends',
+				'show_in_admin_bar' => true,
 			) ;
 		}
 
 		// Additional menu if groups is active.
 		if ( bp_is_active( 'groups' ) ) {
 			$sub_nav[] = array(
-				'name'            => _x( 'Groups', 'Profile activity screen sub nav', 'buddypress' ),
-				'slug'            => bp_get_groups_slug(),
-				'parent_url'      => $activity_link,
-				'parent_slug'     => $slug,
-				'screen_function' => 'bp_activity_screen_groups',
-				'position'        => 50,
-				'item_css_id'     => 'activity-groups'
+				'name'              => _x( 'Groups', 'Profile activity screen sub nav', 'buddypress' ),
+				'slug'              => bp_get_groups_slug(),
+				'parent_url'        => $activity_link,
+				'parent_slug'       => $slug,
+				'screen_function'   => 'bp_activity_screen_groups',
+				'position'          => 50,
+				'item_css_id'       => 'activity-groups',
+				'show_in_admin_bar' => true,
 			);
 		}
 
@@ -240,6 +246,7 @@ class BP_Activity_Component extends BP_Component {
 	 * Set up the component entries in the WordPress Admin Bar.
 	 *
 	 * @since 1.5.0
+	 * @since 2.7.0 Sync the WP Admin Nav with BP Nav items having the `show_in_admin_bar` property set to true.
 	 *
 	 * @see BP_Component::setup_nav() for a description of the $wp_admin_nav
 	 *      parameter array.
@@ -251,83 +258,61 @@ class BP_Activity_Component extends BP_Component {
 
 		// Menus for logged in user.
 		if ( is_user_logged_in() ) {
+			$bp = buddypress();
 
 			// Setup the logged in user variables.
 			$activity_link = trailingslashit( bp_loggedin_user_domain() . bp_get_activity_slug() );
 
-			// Unread message count.
-			if ( bp_activity_do_mentions() ) {
-				$count = bp_get_total_mention_count_for_user( bp_loggedin_user_id() );
-				if ( !empty( $count ) ) {
-					$title = sprintf(
-						/* translators: %s: Unread mention count for the current user */
-						_x( 'Mentions %s', 'Toolbar Mention logged in user', 'buddypress' ),
-						'<span class="count">' . bp_core_number_format( $count ) . '</span>'
+			if ( isset( $bp->members->nav ) ) {
+				$nav = $bp->members->nav->get_admin_nav( array(
+					'parent_slug' => bp_get_activity_slug(),
+				) );
+
+				if ( ! empty( $nav['parent'] ) ) {
+					// Add the "Activity" sub menu.
+					$wp_admin_nav[] = array(
+						'parent' => buddypress()->my_account_menu_id,
+						'id'     => 'my-account-' . $this->id,
+						'title'  => _x( 'Activity', 'My Account Activity sub nav', 'buddypress' ),
+						'href'   => $activity_link
 					);
-				} else {
-					$title = _x( 'Mentions', 'Toolbar Mention logged in user', 'buddypress' );
 				}
-			}
-
-			// Add the "Activity" sub menu.
-			$wp_admin_nav[] = array(
-				'parent' => buddypress()->my_account_menu_id,
-				'id'     => 'my-account-' . $this->id,
-				'title'  => _x( 'Activity', 'My Account Activity sub nav', 'buddypress' ),
-				'href'   => $activity_link
-			);
-
-			// Personal.
-			$wp_admin_nav[] = array(
-				'parent'   => 'my-account-' . $this->id,
-				'id'       => 'my-account-' . $this->id . '-personal',
-				'title'    => _x( 'Personal', 'My Account Activity sub nav', 'buddypress' ),
-				'href'     => $activity_link,
-				'position' => 10
-			);
 
-			// Mentions.
-			if ( bp_activity_do_mentions() ) {
-				$wp_admin_nav[] = array(
-					'parent'   => 'my-account-' . $this->id,
-					'id'       => 'my-account-' . $this->id . '-mentions',
-					'title'    => $title,
-					'href'     => trailingslashit( $activity_link . 'mentions' ),
-					'position' => 20
-				);
-			}
-
-			// Favorite activity items.
-			if ( bp_activity_can_favorite() ) {
-				$wp_admin_nav[] = array(
-					'parent'   => 'my-account-' . $this->id,
-					'id'       => 'my-account-' . $this->id . '-favorites',
-					'title'    => _x( 'Favorites', 'My Account Activity sub nav', 'buddypress' ),
-					'href'     => trailingslashit( $activity_link . 'favorites' ),
-					'position' => 30
-				);
-			}
-
-			// Friends?
-			if ( bp_is_active( 'friends' ) ) {
-				$wp_admin_nav[] = array(
-					'parent'   => 'my-account-' . $this->id,
-					'id'       => 'my-account-' . $this->id . '-friends',
-					'title'    => _x( 'Friends', 'My Account Activity sub nav', 'buddypress' ),
-					'href'     => trailingslashit( $activity_link . bp_get_friends_slug() ),
-					'position' => 40
-				);
-			}
-
-			// Groups?
-			if ( bp_is_active( 'groups' ) ) {
-				$wp_admin_nav[] = array(
-					'parent'   => 'my-account-' . $this->id,
-					'id'       => 'my-account-' . $this->id . '-groups',
-					'title'    => _x( 'Groups', 'My Account Activity sub nav', 'buddypress' ),
-					'href'     => trailingslashit( $activity_link . bp_get_groups_slug() ),
-					'position' => 50
-				);
+				if ( ! empty( $nav['children'] ) ) {
+					foreach ( $nav['children'] as $sub_nav ) {
+						// Sub nav title defaults to its name.
+						$sub_nav_title = $sub_nav->name;
+
+						if ( isset( $nav['parent']->default_subnav_slug ) && $sub_nav->slug !== $nav['parent']->default_subnav_slug ) {
+							$sub_nav_link  = trailingslashit( $activity_link . $sub_nav->slug );
+							$sub_nav_id    = sprintf( 'my-account-%s-%s', $this->id, $sub_nav->slug );
+						} elseif ( isset( $nav['parent']->default_subnav_slug ) && $sub_nav->slug === $nav['parent']->default_subnav_slug ) {
+							$sub_nav_id    = sprintf( 'my-account-%s-personal', $this->id );
+							$sub_nav_link  = $activity_link;
+						}
+
+						// Checking for unread mentions
+						if ( 'mentions' === $sub_nav->slug && bp_activity_do_mentions() ) {
+							$count = bp_get_total_mention_count_for_user( bp_loggedin_user_id() );
+							if ( ! empty( $count ) ) {
+								$sub_nav_title = sprintf(
+									/* translators: %s: Unread mention count for the current user */
+									_x( 'Mentions %s', 'Toolbar Mention logged in user', 'buddypress' ),
+									'<span class="count">' . bp_core_number_format( $count ) . '</span>'
+								);
+							}
+						}
+
+						// Add the sub nav items
+						$wp_admin_nav[] = array(
+							'parent'   => 'my-account-' . $this->id,
+							'id'       => $sub_nav_id,
+							'title'    => $sub_nav_title,
+							'href'     => $sub_nav_link,
+							'position' => $sub_nav->position,
+						);
+					}
+				}
 			}
 		}
 
diff --git src/bp-core/bp-core-buddybar.php src/bp-core/bp-core-buddybar.php
index 28f7a73..386a8c1 100644
--- src/bp-core/bp-core-buddybar.php
+++ src/bp-core/bp-core-buddybar.php
@@ -32,6 +32,8 @@ defined( 'ABSPATH' ) || exit;
  *     @type callable    $screen_function         The callback function that will run when the nav item is clicked.
  *     @type bool|string $default_subnav_slug     Optional. The slug of the default subnav item to select when the nav
  *                                                item is clicked.
+ *     @type bool        $show_in_admin_bar       Optional. Whether to add this nav item to the WP Admin Bar.
+ *                                                Default: False.
  * }
  * @param string       $component The component the navigation is attached to. Defaults to 'members'.
  * @return bool|null Returns false on failure.
@@ -49,7 +51,8 @@ function bp_core_new_nav_item( $args, $component = 'members' ) {
 		'site_admin_only'         => false, // Can only site admins see this nav item?
 		'position'                => 99,    // Index of where this nav item should be positioned.
 		'screen_function'         => false, // The name of the function to run when clicked.
-		'default_subnav_slug'     => false  // The slug of the default subnav item to select when clicked.
+		'default_subnav_slug'     => false, // The slug of the default subnav item to select when clicked.
+		'show_in_admin_bar'       => false, // Whether to add this nav item to the WP Admin Bar.
 	);
 
 	$r = wp_parse_args( $args, $defaults );
@@ -106,6 +109,8 @@ function bp_core_new_nav_item( $args, $component = 'members' ) {
  *     @type callable    $screen_function         The callback function that will run when the nav item is clicked.
  *     @type bool|string $default_subnav_slug     Optional. The slug of the default subnav item to select when the nav
  *                                                item is clicked.
+ *     @type bool        $show_in_admin_bar       Optional. Whether to add this nav item to the WP Admin Bar.
+ *                                                Default: False.
  * }
  * @param string       $component Optional. Component that the nav belongs to.
  * @return bool|BP_Nav_Item Returns false on failure, new nav item on success.
@@ -121,7 +126,8 @@ function bp_core_create_nav_link( $args = '', $component = 'members' ) {
 		'site_admin_only'         => false, // Can only site admins see this nav item?
 		'position'                => 99,    // Index of where this nav item should be positioned.
 		'screen_function'         => false, // The name of the function to run when clicked.
-		'default_subnav_slug'     => false  // The slug of the default subnav item to select when clicked.
+		'default_subnav_slug'     => false, // The slug of the default subnav item to select when clicked.
+		'show_in_admin_bar'       => false, // Whether to add this nav item to the WP Admin Bar.
 	);
 
 	$r = wp_parse_args( $args, $defaults );
@@ -148,7 +154,8 @@ function bp_core_create_nav_link( $args = '', $component = 'members' ) {
 		'show_for_displayed_user' => $r['show_for_displayed_user'],
 		'position'                => $r['position'],
 		'screen_function'         => &$r['screen_function'],
-		'default_subnav_slug'	  => $r['default_subnav_slug']
+		'default_subnav_slug'	  => $r['default_subnav_slug'],
+		'show_in_admin_bar'       => $r['show_in_admin_bar'],
 	);
 
 	// Add the item to the nav.
diff --git src/bp-core/classes/class-bp-core-nav.php src/bp-core/classes/class-bp-core-nav.php
index ed97c36..f0efd6f 100644
--- src/bp-core/classes/class-bp-core-nav.php
+++ src/bp-core/classes/class-bp-core-nav.php
@@ -399,4 +399,39 @@ class BP_Core_Nav {
 
 		return $primary_nav_items;
 	}
+
+	/**
+	 * Get the Nav Items to display in the WP Admin Bar
+	 *
+	 * @since  2.7.0
+	 *
+	 * @param  array  $args Filters to select the specific items. See wp_list_filter().
+	 * @return array        An associative array containing the parent nav and its children.
+	 */
+	public function get_admin_nav( $args = array() ) {
+		$admin_nav = array();
+
+		$params = wp_parse_args( $args, array( 'show_in_admin_bar' => true ) );
+
+		// We need the parent slug, and this is a WP Admin Nav!
+		if ( empty( $params['parent_slug'] ) || empty( $params['show_in_admin_bar'] ) ) {
+			return $admin_nav;
+		}
+
+		// Validate the primary nav item
+		$primary_nav_item = $this->get( $params['parent_slug'] );
+
+		if ( ! $primary_nav_item || empty( $primary_nav_item->show_in_admin_bar ) ) {
+			return $admin_nav;
+		}
+
+		$admin_nav['parent'] = $primary_nav_item;
+		$secondary_nav_items = $this->get_secondary( $params );
+
+		if ( ! $secondary_nav_items ) {
+			return $admin_nav;
+		}
+
+		return array_merge( $admin_nav, array( 'children' => $secondary_nav_items ) );
+	}
 }
