Index: wp-admin/includes/ms.php
===================================================================
--- wp-admin/includes/ms.php	(revision 26953)
+++ wp-admin/includes/ms.php	(working copy)
@@ -797,6 +797,46 @@
 }
 
 /**
+ * Output the html for the network Edit Site page tabs
+ *
+ * @since 3.9.0
+ *
+ * @uses apply_filters() Calls 'network_edit_site_tabs' on 'info', 'users', 'themes', and settings tabs.
+ * @uses apply_filters() Calls 'network_edit_site_tab_html' on 'tab_html
+ *
+ * @param int $id The blog_id of the current site being edited.
+ */
+function network_edit_site_tabs( $id ) {
+	global $pagenow;
+	$tabs = array(
+	  'site-info'     => array( 'label' => __( 'Info' ), 'url' => 'site-info.php' ),
+	  'site-users'    => array( 'label' => __( 'Users' ), 'url' => 'site-users.php' ),
+	  'site-themes'   => array( 'label' => __( 'Themes' ), 'url' => 'site-themes.php' ),
+	  'site-settings' => array( 'label' => __( 'Settings' ), 'url' => 'site-settings.php' ),
+	);
+	$tabs = apply_filters( 'network_edit_site_tabs', $tabs, $id, $pagenow );
+
+	foreach ( $tabs as $tab_id => $tab ) {
+		if ( isset( $tab['menu-slug'] ) && isset( $tab['callback-function'] ) ) {
+			$menu_slug = plugin_basename( $tab['menu-slug'] );
+			$html = sprintf(
+			  '<a href="%s" class="nav-tab %s">%s</a>',
+			  add_query_arg( array( 'id' => $id ), network_admin_url( 'admin.php?page=' . $tab['menu-slug'] ) ),
+			  isset( $_GET['page'] ) && $menu_slug == $_GET['page'] ? ' nav-tab-active' : '',
+			  esc_html( $tab['label'] )
+			);
+			echo $html;
+			$admin_page_hooks[$menu_slug] = sanitize_title( $tab['label'] );
+		}
+		else {
+			$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
+			$tab_html = '<a href="' . $tab['url'] . '?id=' . $id . '" class="nav-tab' . $class . '">' . esc_html( $tab['label'] ) . '</a>';
+			echo apply_filters( 'network_edit_site_tab_html', $tab_html, $tab, $class, $id );
+		}
+	}
+}
+
+/**
  * Thickbox image paths for Network Admin.
  *
  * @since 3.1.0
Index: wp-admin/network/site-info.php
===================================================================
--- wp-admin/network/site-info.php	(revision 26953)
+++ wp-admin/network/site-info.php	(working copy)
@@ -98,18 +98,7 @@
 <div class="wrap">
 <h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
 <h3 class="nav-tab-wrapper">
-<?php
-$tabs = array(
-	'site-info'     => array( 'label' => __( 'Info' ),     'url' => 'site-info.php'     ),
-	'site-users'    => array( 'label' => __( 'Users' ),    'url' => 'site-users.php'    ),
-	'site-themes'   => array( 'label' => __( 'Themes' ),   'url' => 'site-themes.php'   ),
-	'site-settings' => array( 'label' => __( 'Settings' ), 'url' => 'site-settings.php' ),
-);
-foreach ( $tabs as $tab_id => $tab ) {
-	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
-	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' . esc_html( $tab['label'] ) . '</a>';
-}
-?>
+<?php network_edit_site_tabs( $id ) ?>
 </h3>
 <?php
 if ( ! empty( $messages ) ) {
Index: wp-admin/network/site-settings.php
===================================================================
--- wp-admin/network/site-settings.php	(revision 26953)
+++ wp-admin/network/site-settings.php	(working copy)
@@ -89,18 +89,7 @@
 <div class="wrap">
 <h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
 <h3 class="nav-tab-wrapper">
-<?php
-$tabs = array(
-	'site-info'     => array( 'label' => __( 'Info' ),     'url' => 'site-info.php'     ),
-	'site-users'    => array( 'label' => __( 'Users' ),    'url' => 'site-users.php'    ),
-	'site-themes'   => array( 'label' => __( 'Themes' ),   'url' => 'site-themes.php'   ),
-	'site-settings' => array( 'label' => __( 'Settings' ), 'url' => 'site-settings.php' ),
-);
-foreach ( $tabs as $tab_id => $tab ) {
-	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
-	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' . esc_html( $tab['label'] ) . '</a>';
-}
-?>
+<?php network_edit_site_tabs( $id ) ?>
 </h3>
 <?php
 if ( ! empty( $messages ) ) {
Index: wp-admin/network/site-themes.php
===================================================================
--- wp-admin/network/site-themes.php	(revision 26953)
+++ wp-admin/network/site-themes.php	(working copy)
@@ -137,18 +137,7 @@
 <div class="wrap">
 <h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
 <h3 class="nav-tab-wrapper">
-<?php
-$tabs = array(
-	'site-info'     => array( 'label' => __( 'Info' ),     'url' => 'site-info.php'     ),
-	'site-users'    => array( 'label' => __( 'Users' ),    'url' => 'site-users.php'    ),
-	'site-themes'   => array( 'label' => __( 'Themes' ),   'url' => 'site-themes.php'   ),
-	'site-settings' => array( 'label' => __( 'Settings' ), 'url' => 'site-settings.php' ),
-);
-foreach ( $tabs as $tab_id => $tab ) {
-	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
-	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' . esc_html( $tab['label'] ) . '</a>';
-}
-?>
+<?php network_edit_site_tabs( $id ) ?>
 </h3><?php
 
 if ( isset( $_GET['enabled'] ) ) {
Index: wp-admin/network/site-users.php
===================================================================
--- wp-admin/network/site-users.php	(revision 26953)
+++ wp-admin/network/site-users.php	(working copy)
@@ -186,18 +186,7 @@
 <div class="wrap">
 <h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
 <h3 class="nav-tab-wrapper">
-<?php
-$tabs = array(
-	'site-info'     => array( 'label' => __( 'Info' ),     'url' => 'site-info.php'     ),
-	'site-users'    => array( 'label' => __( 'Users' ),    'url' => 'site-users.php'    ),
-	'site-themes'   => array( 'label' => __( 'Themes' ),   'url' => 'site-themes.php'   ),
-	'site-settings' => array( 'label' => __( 'Settings' ), 'url' => 'site-settings.php' ),
-);
-foreach ( $tabs as $tab_id => $tab ) {
-	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
-	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' . esc_html( $tab['label'] ) . '</a>';
-}
-?>
+<?php network_edit_site_tabs( $id ) ?>
 </h3><?php
 
 if ( isset($_GET['update']) ) :
