【问题标题】:Get user from user meta_value array in WordPress从 WordPress 中的用户元值数组中获取用户
【发布时间】:2017-11-06 15:39:08
【问题描述】:

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

$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',
));

【问题讨论】:

  • 你更新后我现在更困惑了......

标签: php arrays wordpress


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    $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',
    ));
    

    【讨论】:

      【解决方案3】:

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

      <?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',
          ));
       }
      ?>
      

      【讨论】:

        猜你喜欢
        • 2013-09-13
        • 2016-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多