Reputation:
Am trying to fetch user data from wordpress table. When I put the data into an array it shows me an fatal error.
This is my php code:
$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;
Its showing the fatal error Cannot use object of type WP_Error as array in last line $userdata[]. Any help would be appreciated. Thanks in advance.
Upvotes: 3
Views: 12843
Reputation: 633
There might be something wrong with the $user_query
and as a result $wpdb->get_results($user_query)
is returning WP_Error
object instead of the query result. Wrap the code inside the following block and check what's the 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();
}
Upvotes: 8