menu.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. /**
  3. * Build Network Administration Menu.
  4. *
  5. * @package WordPress
  6. * @subpackage Multisite
  7. * @since 3.1.0
  8. */
  9. /* translators: Network menu item. */
  10. $menu[2] = array( __( 'Dashboard' ), 'manage_network', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'dashicons-dashboard' );
  11. $submenu['index.php'][0] = array( __( 'Home' ), 'read', 'index.php' );
  12. if ( current_user_can( 'update_core' ) ) {
  13. $cap = 'update_core';
  14. } elseif ( current_user_can( 'update_plugins' ) ) {
  15. $cap = 'update_plugins';
  16. } elseif ( current_user_can( 'update_themes' ) ) {
  17. $cap = 'update_themes';
  18. } else {
  19. $cap = 'update_languages';
  20. }
  21. $update_data = wp_get_update_data();
  22. if ( $update_data['counts']['total'] ) {
  23. $submenu['index.php'][10] = array(
  24. sprintf(
  25. /* translators: %s: Number of available updates. */
  26. __( 'Updates %s' ),
  27. sprintf(
  28. '<span class="update-plugins count-%s"><span class="update-count">%s</span></span>',
  29. $update_data['counts']['total'],
  30. number_format_i18n( $update_data['counts']['total'] )
  31. )
  32. ),
  33. $cap,
  34. 'update-core.php',
  35. );
  36. } else {
  37. $submenu['index.php'][10] = array( __( 'Updates' ), $cap, 'update-core.php' );
  38. }
  39. unset( $cap );
  40. $submenu['index.php'][15] = array( __( 'Upgrade Network' ), 'upgrade_network', 'upgrade.php' );
  41. $menu[4] = array( '', 'read', 'separator1', '', 'wp-menu-separator' );
  42. /* translators: Sites menu item. */
  43. $menu[5] = array( __( 'Sites' ), 'manage_sites', 'sites.php', '', 'menu-top menu-icon-site', 'menu-site', 'dashicons-admin-multisite' );
  44. $submenu['sites.php'][5] = array( __( 'All Sites' ), 'manage_sites', 'sites.php' );
  45. $submenu['sites.php'][10] = array( _x( 'Add New', 'site' ), 'create_sites', 'site-new.php' );
  46. $menu[10] = array( __( 'Users' ), 'manage_network_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'dashicons-admin-users' );
  47. $submenu['users.php'][5] = array( __( 'All Users' ), 'manage_network_users', 'users.php' );
  48. $submenu['users.php'][10] = array( _x( 'Add New', 'user' ), 'create_users', 'user-new.php' );
  49. if ( current_user_can( 'update_themes' ) && $update_data['counts']['themes'] ) {
  50. $menu[15] = array(
  51. sprintf(
  52. /* translators: %s: Number of available theme updates. */
  53. __( 'Themes %s' ),
  54. sprintf(
  55. '<span class="update-plugins count-%s"><span class="theme-count">%s</span></span>',
  56. $update_data['counts']['themes'],
  57. number_format_i18n( $update_data['counts']['themes'] )
  58. )
  59. ),
  60. 'manage_network_themes',
  61. 'themes.php',
  62. '',
  63. 'menu-top menu-icon-appearance',
  64. 'menu-appearance',
  65. 'dashicons-admin-appearance',
  66. );
  67. } else {
  68. $menu[15] = array( __( 'Themes' ), 'manage_network_themes', 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'dashicons-admin-appearance' );
  69. }
  70. $submenu['themes.php'][5] = array( __( 'Installed Themes' ), 'manage_network_themes', 'themes.php' );
  71. $submenu['themes.php'][10] = array( _x( 'Add New', 'theme' ), 'install_themes', 'theme-install.php' );
  72. $submenu['themes.php'][15] = array( __( 'Theme File Editor' ), 'edit_themes', 'theme-editor.php' );
  73. if ( current_user_can( 'update_plugins' ) && $update_data['counts']['plugins'] ) {
  74. $menu[20] = array(
  75. sprintf(
  76. /* translators: %s: Number of available plugin updates. */
  77. __( 'Plugins %s' ),
  78. sprintf(
  79. '<span class="update-plugins count-%s"><span class="plugin-count">%s</span></span>',
  80. $update_data['counts']['plugins'],
  81. number_format_i18n( $update_data['counts']['plugins'] )
  82. )
  83. ),
  84. 'manage_network_plugins',
  85. 'plugins.php',
  86. '',
  87. 'menu-top menu-icon-plugins',
  88. 'menu-plugins',
  89. 'dashicons-admin-plugins',
  90. );
  91. } else {
  92. $menu[20] = array( __( 'Plugins' ), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'dashicons-admin-plugins' );
  93. }
  94. $submenu['plugins.php'][5] = array( __( 'Installed Plugins' ), 'manage_network_plugins', 'plugins.php' );
  95. $submenu['plugins.php'][10] = array( _x( 'Add New', 'plugin' ), 'install_plugins', 'plugin-install.php' );
  96. $submenu['plugins.php'][15] = array( __( 'Plugin File Editor' ), 'edit_plugins', 'plugin-editor.php' );
  97. $menu[25] = array( __( 'Settings' ), 'manage_network_options', 'settings.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' );
  98. if ( defined( 'MULTISITE' ) && defined( 'WP_ALLOW_MULTISITE' ) && WP_ALLOW_MULTISITE ) {
  99. $submenu['settings.php'][5] = array( __( 'Network Settings' ), 'manage_network_options', 'settings.php' );
  100. $submenu['settings.php'][10] = array( __( 'Network Setup' ), 'setup_network', 'setup.php' );
  101. }
  102. unset( $update_data );
  103. $menu[99] = array( '', 'exist', 'separator-last', '', 'wp-menu-separator' );
  104. require_once ABSPATH . 'wp-admin/includes/menu.php';