从WordPress中的用户meta_value数组中获取用户

时间:2017-11-06 07:23:36

标签: php arrays wordpress

我需要WordPress帮助才能让用户使用get_user(); 如果用户meta_value不是数组我可以处理它,但现在用户meta_value是数组。

$array_user_meta = array(
    'user_id' => 100,
    'user_facebook_id' => 58977667867887,
);

$wp_users = get_users(array(
    'meta_key'     => 'user_biodata',
    'meta_value'   => 'how to access user_facebook_id,
    'number'       => 1,
    'count_total'  => false,
    'fields'       => 'id',
));

谢谢。,

=====================

编辑;

$array_user_meta示例,而不是获取值'user_facebook_id'的实际数组,因此无法获得$array_user_meta['user_facebook_id'];

之类的值

我的情况,这用于facebook用户登录身份验证。所以我想如果用户已经注册他们自动登录。

现在,user_facebook_id存储为user_biodata中的数组。所以不能直接传递meta_key(user_biodata)和meta_value(facebook_id):

$wp_users = get_users(array(
    'meta_key'     => 'user_biodata',
    'meta_value'   => 'can't passed user_facebook_id because stored in array',
    'number'       => 1,
    'count_total'  => false,
    'fields'       => 'id',
));

3 个答案:

答案 0 :(得分:0)

您可以使用关联数组键访问Facebook ID。

<?php
$user_facebook_id = $array_user_meta['user_facebook_id'];

引用:http://php.net/manual/en/language.types.array.php

答案 1 :(得分:0)

将数组值传递给像这样的函数

$array_user_meta = array(
    'user_id' => 100,
    'user_facebook_id' => 58977667867887,
);

$wp_users = get_users(array(
    'meta_key'     => 'user_biodata',
    'meta_value'   => $array_user_meta['user_facebook_id'],
    'number'       => 1,
    'count_total'  => false,
    'fields'       => 'id',
));

答案 2 :(得分:0)

使用以下函数获取用户元值。

<?php
    /*$array_user_meta = array(
        'user_id' => 100,
        'user_facebook_id' => 58977667867887,
    );*/

  $all_meta_for_user_array = get_user_meta( 100 ); // user id
 foreach($all_meta_for_user_array as $all_meta_for_user_value)
 {
     $user_facebook_id = $all_meta_for_user_value['user_facebook_id'];
     $wp_users = get_users(array(
        'meta_key'     => 'user_biodata',
        'meta_value'   => $user_facebook_id,
        'number'       => 1,
        'count_total'  => false,
        'fields'       => 'id',
    ));
 }
?>