For the super admin, replace WP Admin Bar My Sites menu with an All Sites menu.
Author: | Per Soderlind (profile at wordpress.org) |
WordPress version required: | 5.6 |
WordPress version tested: | 6.4.3 |
Plugin version: | 1.6.7 |
Added to WordPress repository: | 14-10-2021 |
Last updated: | 15-02-2024 |
Rating, %: | 0 |
Rated by: | 0 |
Plugin URI: | https://github.com/soderlind/super-admin-all-... |
Total downloads: | 4 186 |
Click to start download |
- Doesn’t use
switch_to_blog()
, i.e. Super Admin All Sites Menu is faster and uses less resources than the WP Admin Bar My Sites menu. - Subsite menu data are stored locally in IndexedDB (did I say it’s fast?). The local storage is updated when;
- the plugin is activated.
- a site is added or deleted.
- you change a blog name.
- IndexedDB is out of sync with site changes.
- Restricted Site Access is activated or deactivated.
- When subsite menu data is updated, AJAX is used and it’s done in increments (100 sites per increment).
- List all subsites. WP Admin Bar My Sites only list sites you’re a local admin on.
- Mark sites that has restricted site access with a red icon.
- Sites menu is sorted alphabetically.
- Search filter.
- Add more menu choices:
- Under “Network Admin”
- Add New Site
- Per subsite.
- ‘New Page’
- ‘Users’
- ‘Plugins’
- ‘Settings’
- Under “Network Admin”
Prerequisite
- WordPress Multisite
- A modern browser, IE 11 isn’t supported.
Filters
You can use the following filters to override the defaults:
-
all_sites_menu_order_by
-
Sort menu by. Default value is
name
, acceptsid
,url
orname
add_filter( 'all_sites_menu_order_by', function( string $order_by ) : string { return 'url'; } );
-
-
all_sites_menu_load_increments
-
AJAX load increments. Default value is 100.
add_filter( 'all_sites_menu_load_increments', function( int $increments ) : int { return 300; } );
-
-
all_sites_menu_plugin_trigger
-
Trigger an update of local storage (IndexedDB) when a plugin is (de)activated. Default is
[ 'restricted-site-access/restricted_site_access.php' ]
.Note: Must be an array and each element in the array must point to the main plugin file. Syntax
'plugin-dir/plugin-file.php'
add_filter( 'all_sites_menu_plugin_trigger', function( array $plugins ) : array { return [ 'restricted-site-access/restricted_site_access.php', 'myplugin/myplugin.php', ]; } );
-
-
all_sites_menu_search_threshold
-
Don’t display search field if there’s less than N subsites. Default value is 20.
add_filter( 'all_sites_menu_search_threshold', function( int $increments ) : int { return 40; } );
-
-
all_sites_menu_search_threshold
-
Don’t display search field if there’s less than N subsites. Default value is 20.
add_filter( 'all_sites_menu_search_threshold', function( int $increments ) : int { return 40; } );
-
-
all_sites_menu_force_refresh_expiration
-
How often a forced refresh should be taken. Default value is
3600
. Set the value to0
to disable forced refresh.add_filter( 'all_sites_menu_force_refresh_expiration', function( int $seconds ) : int { return 3600; } );
-
Development
- Active development of this plugin is handled on GitHub.
Screenshots
ChangeLog