- 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'
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
, accepts id
, url
or name
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 to 0
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.