我正在尝试获取今天注册的用户数。
我试过这个:
$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;
但结果总是0。
这项工作:
global $wpdb;
$results = $wpdb->get_results( "SELECT * FROM `wp_users` WHERE `user_registered` >= \'2015-01-13 00:00:00\'");
echo count($results);
但是WP\\u User\\u Query()不应该这样做吗。我对ARG做了什么错事吗?
最合适的回答,由SO网友:birgire 整理而成
您只需使用date_query
用户注册日期参数:
$args = array (
\'role\' => \'subscriber\',
\'date_query\' => array(
array(
\'after\' => \'2010-01-13 00:00:00\',
\'inclusive\' => true,
),
),
);
$user_query = new WP_User_Query( $args );
This part 的
WP_User_Query
源代码,使其成为可能:
// 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();
}