致命错误:未捕获的错误:无法将WP_Error类型的对象用作数组

时间:2019-08-01 11:29:59

标签: wordpress

正在尝试从wordpress表中获取用户数据。当我将数据放入数组时,它向我显示了一个致命错误。

这是我的php代码:

$getuser_data = $wpdb->get_results($user_query);
$userdata = array();
        foreach($getuser_data as $data)
        {

            $userfeed['username'] = $data->user_login;
            $userfeed['name'] = $data->user_email;
            $userfeed['email'] = $data->display_name;

            $userfeed['user_id'] = $data->ID;
            $userfeed['profile_pic'] = get_wp_user_avatar_src($data->ID);
            $usercount = count($getuser_data);


        }
        $userdata[] = $userfeed;

它显示了致命错误无法在最后一行$ userdata []中将WP_Error类型的对象用作数组。 任何帮助,将不胜感激。 预先感谢。

1 个答案:

答案 0 :(得分:1)

$user_query可能有问题,结果$wpdb->get_results($user_query)返回了WP_Error对象而不是查询结果。将代码包装在以下代码块中,然后检查出什么错误。

if( !is_wp_error( $getuser_data ) ) {
  $userdata = array();
  foreach($getuser_data as $data)
  {

    $userfeed['username'] = $data->user_login;
    $userfeed['name'] = $data->user_email;
    $userfeed['email'] = $data->display_name;

    $userfeed['user_id'] = $data->ID;
    $userfeed['profile_pic'] = get_wp_user_avatar_src($data->ID);
    $usercount = count($getuser_data);

    $userdata[] = $userfeed;
  }

} else {
  echo $getuser_data->get_error_message();
}