WP_USER_QUERY按注册日期查询用户

时间:2015-01-13 作者:CiprianD

我正在尝试获取今天注册的用户数。

我试过这个:

$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做了什么错事吗?

1 个回复
最合适的回答,由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 partWP_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();
}

结束

相关推荐