‘META_VALUE’为数组时WP_USER_QUERY出现问题

时间:2017-06-05 作者:ERDFX

我在列出我的用户时遇到了问题,他们今天过生日(因为今天是3月3日)。

我使用教程创建了一个自定义字段“birth\\u date”here 进行了一些小调整。

我的WP\\u User\\u查询不显示任何用户。这是我的代码:

    $args = array(
    \'meta_key\' => \'birth_date\',
    \'meta_value\' => array( \'day\' => \'03\', \'month\' => \'03\')
    );

    // The Query
    $user_query = new WP_User_Query( $args );

    // User Loop
    if ( ! empty( $user_query->results ) ) {
    foreach ( $user_query->results as $user ) {


    echo \'<p>\' . $user->display_name . \'</p>\';

    }
    } else {
    echo \'No users found.\';
    }
以下是“birth\\u date”的var\\u转储:

    array(1) { [0]=>
    array(3) { 
              ["day"]=> string(2) "03" 
              ["month"]=> string(2) "03" 
              ["year"]=> string(4) "1992" 
              } }
我怀疑我用$args表示“meta\\u value”的方式有问题,但我对PHP的了解非常有限。

1 个回复
SO网友:ERDFX

以下是我所做的,它对我起到了作用:

$current_day = date("d");
$current_month = date("m");

$args = array(
\'orderby\' => \'login\',
\'order\' => \'ASC\',
);

// The Query
$user_query = new WP_User_Query( $args );

// User Loop
if ( ! empty( $user_query->results ) ) {
    foreach ( $user_query->results as $user ) {

        if ( $user->birth_date[\'day\'] == $current_day &&
             $user->birth_date[\'month\'] == $current_month )

         { echo \'<span>\' . $user->display_name . \'</span>\'; }   

    }
}

结束

相关推荐