Getting users who registered 360 days from current date

I peeked into the WP_User_Query class and it supports a WP_Date_Query query on the user registration date.

So we could use:

$query = new WP_User_Query( $args );

or simply:

$users = get_users( $args );

where:

$args = [
    'fields'     => 'ID',
    'number'     => 8,
    'date_query' => [
        [ 'before' => '359 days ago midnight' ],
        [ 'after'  => '360 days ago midnight', 'inclusive' => true ],
   ] 
];

This generates the following SQL query (expanded view):

SELECT wp_users.ID 
    FROM wp_users 
    WHERE 1=1 
        AND ( 
                wp_users.user_registered >= '2014-08-10 00:00:00' 
            AND       
                wp_users.user_registered < '2014-08-11 00:00:00' 
        ) 
    ORDER BY user_login ASC 
    LIMIT 10;

where today is 2015-08-05.

It looks like we should update the Codex on get_users() function, regarding the date_query argument.

Leave a Comment