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

3 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;
Run Code Online (Sandbox Code Playgroud)

它显示致命错误 Cannot use object of type WP_Error as array in 最后一行 $userdata[]。任何帮助,将不胜感激。提前致谢。

gjz*_*zim 8

可能有问题$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();
}

Run Code Online (Sandbox Code Playgroud)