J'essaie d'obtenir les utilisateurs qui se sont inscrits après une heure spécifique (cette affaire $ aujourd'hui) et pour lesquels le champ newsletter est true et le compte false C’est ce que j’ai eu jusqu’à présent, mais le résultat est toujours 0.
$new_users_newsletter = $wpdb->get_results(
"SELECT *
FROM $wpdb->users
RIGHT JOIN $wpdb->usermeta
ON $wpdb->users.ID = $wpdb->usermeta.user_id
WHERE ($wpdb->users.user_registered >= '$today'
AND $wpdb->usermeta.meta_key LIKE 'newsletter' AND $wpdb->usermeta.meta_value LIKE 'true'
AND $wpdb->usermeta.meta_key LIKE 'account' AND $wpdb->usermeta.meta_value LIKE 'false')
GROUP BY $wpdb->users.ID"
);
Vous pouvez essayer ceci avec WP_User_Query
à la place:
$args = array (
'meta_query' => array(
array(
'key' => 'newsletter',
'value' => 'true',
),
array(
'key' => 'account',
'value' => 'false',
),
),
'date_query' => array(
array(
'after' => '2015-01-13 00:00:00',
'inclusive' => true,
),
),
);
$user_query = new WP_User_Query( $args );
où je suppose que vos méta-valeurs utilisateur sont des chaînes booléennes , c'est-à-dire 'true'
et 'false'
.