From 572b6aa5d2e2f5fd6f6e44ca7be35f1a701b80da Mon Sep 17 00:00:00 2001 From: ouun <32090713+ouun@users.noreply.github.com> Date: Mon, 28 Jan 2019 21:12:53 +0100 Subject: [PATCH] Various approvements inspired my Multisite admin menu - Fixes styling - Adds a "Networks" menu group with direct access to "My Networks" page - Adds a "Add New" direct access for super admin --- .../class-wp-ms-networks-admin-bar.php | 43 ++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/wp-multi-network/includes/classes/class-wp-ms-networks-admin-bar.php b/wp-multi-network/includes/classes/class-wp-ms-networks-admin-bar.php index 84c0c41..1e2a456 100644 --- a/wp-multi-network/includes/classes/class-wp-ms-networks-admin-bar.php +++ b/wp-multi-network/includes/classes/class-wp-ms-networks-admin-bar.php @@ -79,6 +79,42 @@ public function admin_bar( $wp_admin_bar ) { ), ) ); + if ( is_super_admin() ) { + $wp_admin_bar->add_group(array( + 'parent' => 'my-networks', + 'id' => 'my-networks-super-admin', + )); + + $wp_admin_bar->add_menu(array( + 'parent' => 'my-networks-super-admin', + 'id' => 'networks-admin', + 'title' => __('Networks Admin', 'wp-multi-network'), + 'href' => network_admin_url(), + )); + + $wp_admin_bar->add_menu(array( + 'parent' => 'networks-admin', + 'id' => 'networks-admin-d', + 'title' => __('All Networks', 'wp-multi-network' ), + 'href' => network_admin_url( 'admin.php?page=networks' ), + )); + + $wp_admin_bar->add_menu(array( + 'parent' => 'networks-admin', + 'id' => 'networks-admin-s', + 'title' => __('Add New', 'wp-multi-network' ), + 'href' => network_admin_url('admin.php?page=add-new-network'), + )); + } + + $wp_admin_bar->add_group( array( + 'parent' => 'my-networks', + 'id' => 'group-network-admin', + 'meta' => array( + 'class' => is_super_admin() ? 'ab-sub-secondary' : '', + ), + ) ); + foreach ( $networks as $network_id ) { $network = get_network( $network_id ); if ( ! $network ) { @@ -87,13 +123,8 @@ public function admin_bar( $wp_admin_bar ) { switch_to_network( $network_id ); - $wp_admin_bar->add_group( array( - 'parent' => 'my-networks', - 'id' => 'group-network-admin-' . $network_id, - ) ); - $wp_admin_bar->add_menu( array( - 'parent' => 'group-network-admin-' . $network_id, + 'parent' => 'group-network-admin', 'id' => 'network-admin-' . $network_id, 'title' => $network->site_name, 'href' => network_admin_url(),