【问题标题】:get_users with a value in an array of meta_value returns empty array具有 meta_value 数组中的值的 get_users 返回空数组
【发布时间】:2018-09-21 08:18:12
【问题描述】:

我正在尝试查询将当前帖子的 ID 保存在 meta_key (training_event_attending) 中并带有一组值的 WP 用户。

当我对当前用户的 training_event_attending 执行 print_r 时,其中 10、11 和 12 是保存给用户的正确帖子 ID,我得到:

$training_event_attending) = get_user_meta($current_user->ID, 'training_event_attending', TRUE);
print_r($training_event_attending); 
//Shows Array ( [0] => 10 [1] => 11 [2] => 12 ) 

现在,如果我的帖子 ID 为 10,我想查询所有 training_event_attending 与此帖子 ID (10) 匹配的用户。这是我的查询:

$event_id = get_the_id();   
$user_args = array(
    'meta_query'   => array(
        array(
            'key' => 'training_event_attending',
            'value' => array($event_id),
            'compare' => 'IN',
           ),
        )
 ); 
$assigned_users = get_users( $user_args );

print_r($assigned_users); 
//shows an empty array. 

我也尝试过序列化 value 并使用 'LIKE' 进行比较:

value => serialize(array($event_id)),

这会返回相同的用户,但重复了 3 次。

我做错了什么?你能指出我正确的方向吗?

【问题讨论】:

    标签: arrays wordpress meta-key


    【解决方案1】:

    好的,所以我为任何感兴趣的人找到了解决方案:

    $event_id = get_the_id();
    $user_args = array(
        'meta_query'   => array(
            array(
                'key' => 'training_event_attending',
                'value' => serialize($event_id),
                'compare' => 'LIKE',
               ),
            )
        ); 
    $assigned_users = new WP_User_Query( $user_args );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-25
      • 2020-04-15
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 2012-07-06
      • 2020-01-24
      • 1970-01-01
      相关资源
      最近更新 更多