Changeset 37466 for trunk/src/wp-admin/includes/ms.php
- Timestamp:
- 05/19/2016 09:47:06 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/ms.php
r37342 r37466 1029 1029 <?php 1030 1030 } 1031 1032 /** 1033 * Outputs the HTML for a network's "Edit Site" tabular interface 1034 * 1035 * @since 4.6.0 1036 * 1037 * @link https://core.trac.wordpress.org/ticket/15800 discussion 1038 * 1039 * @param $args { 1040 * Optional. Array or string of Query parameters. 1041 * 1042 * @type int $blog_id The site ID. Default is the current site. 1043 * @type array $links The tabs to include with (label|url|cap) keys 1044 * @type string $selected The ID of the selected link 1045 * } 1046 */ 1047 function network_edit_site_nav( $args = array() ) { 1048 1049 /** 1050 * Filter the links that appear on site-editing network pages 1051 * 1052 * Default links: 'site-info', 'site-users', 'site-themes', and 'site-settings' 1053 * 1054 * @since 4.6.0 1055 * 1056 * @param array Array of link data. 1057 */ 1058 $links = apply_filters( 'network_edit_site_nav_links', array( 1059 'site-info' => array( 'label' => __( 'Info' ), 'url' => 'site-info.php', 'cap' => 'manage_sites' ), 1060 'site-users' => array( 'label' => __( 'Users' ), 'url' => 'site-users.php', 'cap' => 'manage_sites' ), 1061 'site-themes' => array( 'label' => __( 'Themes' ), 'url' => 'site-themes.php', 'cap' => 'manage_sites' ), 1062 'site-settings' => array( 'label' => __( 'Settings' ), 'url' => 'site-settings.php', 'cap' => 'manage_sites' ) 1063 ) ); 1064 1065 // Parse arguments 1066 $r = wp_parse_args( $args, array( 1067 'blog_id' => isset( $_GET['blog_id'] ) ? (int) $_GET['blog_id'] : 0, 1068 'links' => $links, 1069 'selected' => 'site-info', 1070 ) ); 1071 1072 // Setup the links array 1073 $screen_links = array(); 1074 1075 // Loop through tabs 1076 foreach ( $r['links'] as $link_id => $link ) { 1077 1078 // Skip link if user can't access 1079 if ( ! current_user_can( $link['cap'], $r['blog_id'] ) ) { 1080 continue; 1081 } 1082 1083 // Link classes 1084 $classes = array( 'nav-tab' ); 1085 1086 // Selected is set by the parent OR assumed by the $pagenow global 1087 if ( $r['selected'] === $link_id || $link['url'] === $GLOBALS['pagenow'] ) { 1088 $classes[] = 'nav-tab-active'; 1089 } 1090 1091 // Escape each class 1092 $esc_classes = implode( ' ', array_map( 'esc_attr', $classes ) ); 1093 1094 // Get the URL for this link 1095 $url = add_query_arg( array( 'id' => $r['blog_id'] ), network_admin_url( $link['url'] ) ); 1096 1097 // Add link to nav links 1098 $screen_links[ $link_id ] = '<a href="' . esc_url( $url ) . '" id="' . esc_attr( $link_id ) . '" class="' . $esc_classes . '">' . esc_html( $link['label'] ) . '</a>'; 1099 } 1100 1101 // Start a buffer 1102 ob_start(); 1103 1104 // All done! 1105 echo '<h2 class="nav-tab-wrapper wp-clearfix">'; 1106 echo implode( '', $screen_links ); 1107 echo '</h2>'; 1108 1109 // Output the nav 1110 echo ob_get_clean(); 1111 }
Note: See TracChangeset
for help on using the changeset viewer.