Commit Graph

62 Commits

Author SHA1 Message Date
Scott Taylor c9babc4cdd Users: allow `-1` (no limit, use with extreme caution on large sites) as the value for `number` in `WP_User_Query` - similar to `posts_per_page => -1` in `WP_Query`.
Adds unit tests.

Props mordauk, jesin, nofearinc.
Fixes #28631.

Built from https://develop.svn.wordpress.org/trunk@35114


git-svn-id: http://core.svn.wordpress.org/trunk@35079 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-13 02:40:24 +00:00
Boone Gorges ff0b621719 Don't match partial roles in `WP_User_Query`.
Because 'role=ocean90' shouldn't match 'role=bocean901'.

Props bocean901, ocean90.
Fixes #22212.
Built from https://develop.svn.wordpress.org/trunk@35101


git-svn-id: http://core.svn.wordpress.org/trunk@35066 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-13 01:32:25 +00:00
Boone Gorges c758468faf `WP_User_Query` role improvement redux.
It's back, and it's better than ever: an overhaul of role-related arguments
in `WP_User_Query`. This updated version of the previously-reverted [34875]
includes support for the use of `$blog_id` without specifying a `$role`, for
a 99.7% reduced chance of breaking wordpress.org and other large sites.

Props boonebgorges, swissspidy.
Fixes #22212.
Built from https://develop.svn.wordpress.org/trunk@34959


git-svn-id: http://core.svn.wordpress.org/trunk@34924 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 21:28:24 +00:00
Boone Gorges 99421d1799 Store SQL query string as a property on `WP_User_Query`.
In addition to better parity with other WP query classes, this also allows
testing of SQL strings, should anyone want to do something so foolish.

See #22212.
Built from https://develop.svn.wordpress.org/trunk@34956


git-svn-id: http://core.svn.wordpress.org/trunk@34921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 21:06:23 +00:00
Aaron Jorbin a93ec5244d Revert [34875] due to unintentional breaking change
WordPress.org was taken down due to as Otto42 describes:

The previous version of this function added the query piece for the meta key = blog_id.capabilities, regardless of whether or not a role was requested. This limits the users returned to those with some defined role on this particular multisite instance.

See #22212



Built from https://develop.svn.wordpress.org/trunk@34880


git-svn-id: http://core.svn.wordpress.org/trunk@34845 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-06 20:58:24 +00:00
Boone Gorges f233b37d07 Improve role-related arguments in `WP_User_Query`.
* 'role' now accepts an array or comma-separated list of role names. When passing multiple values for 'role', `WP_User_Query` will only match users that have all of the specified roles.
* 'role__in' accepts an array of role names, and allow the filtering of matched users to those with at least one of the specified roles.
* 'role__not_in' accepts an array of role names, and allows the filtering of matched users to those who have none of the specified roles.

Props swissspidy, mordauk, barrykooij, sirbrillig.
Fixes #22212.
Built from https://develop.svn.wordpress.org/trunk@34875


git-svn-id: http://core.svn.wordpress.org/trunk@34840 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-06 17:40:47 +00:00
Boone Gorges 198dee542d Ensure that `WP_User_Query` vars are filled after 'pre_get_users'.
This prevents notices from being thrown when a 'pre_get_users' callback
removes required values from the list of `query_vars`.

For backward compatibility with previous uses of 'pre_get_users', default
values are parsed both before and after the action is fired.

Fixes #33449.
Built from https://develop.svn.wordpress.org/trunk@34804


git-svn-id: http://core.svn.wordpress.org/trunk@34769 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-03 18:45:25 +00:00
Boone Gorges 37e4c2dbac Introduce 'paged' parameter for `WP_User_Query`.
This is an alternative to using 'offset', and manually calculating pagination.
Note that 'paged' works only in conjunction with 'number', the latter of which
provides the per-page value.

Props sebastian.pisula.
Fixes #25145.
Built from https://develop.svn.wordpress.org/trunk@34531


git-svn-id: http://core.svn.wordpress.org/trunk@34495 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 04:26:29 +00:00
Drew Jaynes 35246a957f Docs: The User API is singular.
See #33701.

Built from https://develop.svn.wordpress.org/trunk@34393


git-svn-id: http://core.svn.wordpress.org/trunk@34357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 12:31:26 +00:00
Drew Jaynes e6764f3b19 Docs: Update the docs for `WP_User_Query->prepare_query()` for ordering by the value of the `include` argument, allowed since 4.1.
Also adds a changelog entry for the additionally-accepted value.

Props danielbachhuber.
Fixes #33937.

Built from https://develop.svn.wordpress.org/trunk@34361


git-svn-id: http://core.svn.wordpress.org/trunk@34325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-21 00:47:25 +00:00
Drew Jaynes e1e98b04b9 Docs: Add a missing file header for wp-includes/class-wp-user-query.php, introduced in [33749].
Also clarifies the class DocBlock summary for `WP_User_Query` to better describe its purpose.

See #33413. See #33701.

Built from https://develop.svn.wordpress.org/trunk@33895


git-svn-id: http://core.svn.wordpress.org/trunk@33864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-04 01:26:25 +00:00
Scott Taylor 484331e492 Users: move `WP_User_Query` into its own file. `user.php` loads the new files, so this is 100% BC if someone is loading `user.php` directly (a lot of plugins do). New files created using `svn cp`.
Creates: 
`class-wp-user-query.php` 
`user-functions.php` 

`user.php` contains only top-level code. Class file only contains the class. Functions file only contains functions.

See #33413.

Built from https://develop.svn.wordpress.org/trunk@33749


git-svn-id: http://core.svn.wordpress.org/trunk@33717 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-26 04:20:21 +00:00