J'essaie d'obtenir le nombre d'utilisateurs qui se sont inscrits aujourd'hui.
J'ai essayé ceci:
$args = array (
'role' => 'Subscriber',
'meta_query' => array(
array(
'key' => 'user_registered',
'value' => '2015-01-13 00:00:00',
'compare' => '>=',
'type' => 'DATE', //also tried DATETIME, TIME
),
),
);
$user_query = new WP_User_Query( $args );
$user_query->total_users;
Mais le résultat est toujours 0.
Cela marche:
global $wpdb;
$results = $wpdb->get_results( "SELECT * FROM `wp_users` WHERE `user_registered` >= '2015-01-13 00:00:00'");
echo count($results);
Mais WP_User_Query () ne devrait pas pouvoir le faire. Est-ce que je fais quelque chose de mal avec les arguments?
Vous pouvez simplement utiliser le paramètre date_query
à la date d’enregistrement de l’utilisateur:
$args = array (
'role' => 'subscriber',
'date_query' => array(
array(
'after' => '2010-01-13 00:00:00',
'inclusive' => true,
),
),
);
$user_query = new WP_User_Query( $args );
Cette partie du code source WP_User_Query
permet:
// Date queries are allowed for the user_registered field.
if ( ! empty( $qv['date_query'] ) && is_array( $qv['date_query'] ) ) {
$date_query = new WP_Date_Query( $qv['date_query'], 'user_registered' );
$this->query_where .= $date_query->get_sql();
}