network_edit_site_nav( array $args = array() )

In this article

Outputs the HTML for a network’s “Edit Site” tabular interface.

Parameters

$argsarrayoptional
Array or string of Query parameters.
  • blog_id int
    The site ID. Default is the current site.
  • links array
    The tabs to include with (label|url|cap) keys.
  • selected string
    The ID of the selected link.

Default:array()

Source

function network_edit_site_nav( $args = array() ) {	/** * Filters the links that appear on site-editing network pages. * * Default links: 'site-info', 'site-users', 'site-themes', and 'site-settings'. * * @since 4.6.0 * * @param array $links { * An array of link data representing individual network admin pages. * * @type array $link_slug { * An array of information about the individual link to a page. * * $type string $label Label to use for the link. * $type string $url URL, relative to `network_admin_url()` to use for the link. * $type string $cap Capability required to see the link. * } * } */	$links = apply_filters(	'network_edit_site_nav_links',	array(	'site-info' => array(	'label' => __( 'Info' ),	'url' => 'site-info.php',	'cap' => 'manage_sites',	),	'site-users' => array(	'label' => __( 'Users' ),	'url' => 'site-users.php',	'cap' => 'manage_sites',	),	'site-themes' => array(	'label' => __( 'Themes' ),	'url' => 'site-themes.php',	'cap' => 'manage_sites',	),	'site-settings' => array(	'label' => __( 'Settings' ),	'url' => 'site-settings.php',	'cap' => 'manage_sites',	),	)	);	// Parse arguments.	$parsed_args = wp_parse_args(	$args,	array(	'blog_id' => isset( $_GET['blog_id'] ) ? (int) $_GET['blog_id'] : 0,	'links' => $links,	'selected' => 'site-info',	)	);	// Setup the links array.	$screen_links = array();	// Loop through tabs.	foreach ( $parsed_args['links'] as $link_id => $link ) {	// Skip link if user can't access.	if ( ! current_user_can( $link['cap'], $parsed_args['blog_id'] ) ) {	continue;	}	// Link classes.	$classes = array( 'nav-tab' );	// Aria-current attribute.	$aria_current = '';	// Selected is set by the parent OR assumed by the $pagenow global.	if ( $parsed_args['selected'] === $link_id || $link['url'] === $GLOBALS['pagenow'] ) {	$classes[] = 'nav-tab-active';	$aria_current = ' aria-current="page"';	}	// Escape each class.	$esc_classes = implode( ' ', $classes );	// Get the URL for this link.	$url = add_query_arg( array( 'id' => $parsed_args['blog_id'] ), network_admin_url( $link['url'] ) );	// Add link to nav links.	$screen_links[ $link_id ] = '<a href="' . esc_url( $url ) . '" id="' . esc_attr( $link_id ) . '" class="' . $esc_classes . '"' . $aria_current . '>' . esc_html( $link['label'] ) . '</a>';	}	// All done!	echo '<nav class="nav-tab-wrapper wp-clearfix" aria-label="' . esc_attr__( 'Secondary menu' ) . '">';	echo implode( '', $screen_links );	echo '</nav>'; } 

Hooks

apply_filters( ‘network_edit_site_nav_links’, array $links )

Filters the links that appear on site-editing network pages.

Changelog

VersionDescription
4.6.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.