Opened 15 years ago
Closed 15 years ago
#15053 closed enhancement (fixed)
Site options page displays complete users list - no way of interaction
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | 3.1 | Priority: | normal |
Severity: | major | Version: | 3.0.1 |
Component: | Multisite | Keywords: | |
Focuses: | Cc: |
Description
I have ~4k users in a multisite site. Accessing the site options for this site displays ALL users of the site. This is very slow and takes many resources I don't need.
Neither the ms-sites.php
nor get_users_of_blog( $id )
offers a way of changing this behavior by applying filters or actions.
The only way I can apply changes atm is to apply a filter to $wpdb->query()
's query
, which imo is not very elegant and would mean too much overhead.
The best solution would be to add a filter to define what get_users_of_blog
queries.
Changing the behavior would require to re-think the whole workflow of changing the roles for users on sites in a multisite environment. Maybe by adding functionality to the edit user pane.
Attachments (1)
Change History (10)
#2
@
15 years ago
network/sites.php also calls get_users_of_blog() and then only shows 5 users despite fetching all of them.
#4
@
15 years ago
A good start might be to add a $args argument to get_user_of_blog() which is passed on to get_users(). This would allow sites.php to request 6 users since that is all that is needed to list 5 and determine if there are more.
Options should have a limit of 10 or so and then link to the blog's users.php if managing more is needed. Listing them all in a huge list in an un-paged interface is ridiculous.
#6
@
15 years ago
There's no point in adding $args to get_users_of_blog(), unless we apply a 'get_users_of_blog' filter, like we do in get_blogs_of_user()
get_users.diff calls get_users() directly.
As a workaround, you can use remove_meta_box() to disable the Site Users box altogether.