From 37e4c2dbac1c02b9a68c649b07ec07b0d6ea0ab5 Mon Sep 17 00:00:00 2001 From: Boone Gorges Date: Fri, 25 Sep 2015 04:26:29 +0000 Subject: [PATCH] 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 --- wp-includes/class-wp-user-query.php | 11 ++++++++--- wp-includes/version.php | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/wp-includes/class-wp-user-query.php b/wp-includes/class-wp-user-query.php index bea8dba8f8..21d013ca28 100644 --- a/wp-includes/class-wp-user-query.php +++ b/wp-includes/class-wp-user-query.php @@ -83,6 +83,7 @@ class WP_User_Query { * @since 4.2.0 Added 'meta_value_num' support for `$orderby` parameter. Added multi-dimensional array syntax * for `$orderby` parameter. * @since 4.3.0 Added 'has_published_posts' parameter. + * @since 4.4.0 Added 'paged' parameter. * @access public * * @global wpdb $wpdb @@ -124,6 +125,8 @@ class WP_User_Query { * @type int $number Number of users to limit the query for. Can be used in * conjunction with pagination. Value -1 (all) is not supported. * Default empty (all users). + * @type int $paged When used with number, defines the page of results to return. + * Default 1. * @type bool $count_total Whether to count the total number of users found. If pagination * is not needed, setting this to false can improve performance. * Default true. @@ -157,6 +160,7 @@ class WP_User_Query { 'order' => 'ASC', 'offset' => '', 'number' => '', + 'paged' => 1, 'count_total' => true, 'fields' => 'all', 'who' => '', @@ -323,10 +327,11 @@ class WP_User_Query { // limit if ( isset( $qv['number'] ) && $qv['number'] ) { - if ( $qv['offset'] ) + if ( $qv['offset'] ) { $this->query_limit = $wpdb->prepare("LIMIT %d, %d", $qv['offset'], $qv['number']); - else - $this->query_limit = $wpdb->prepare("LIMIT %d", $qv['number']); + } else { + $this->query_limit = $wpdb->prepare( "LIMIT %d, %d", $qv['number'] * ( $qv['paged'] - 1 ), $qv['number'] ); + } } $search = ''; diff --git a/wp-includes/version.php b/wp-includes/version.php index dab232b439..91c3f823c5 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.4-alpha-34530'; +$wp_version = '4.4-alpha-34531'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.