I am using wordpress with JSON REST API plugin (http://wordpress.org/plugins/json-rest-api/).
I am able to create my custom endpoint. At this case I create endpoint for displaying 5 users.
This is my code:
class JSON_API_Pmbs_Controller
{
public function user_search()
{
global $wpdb;
$query = "SELECT * FROM pmbsn_users LIMIT 0,3";
$blogusers = $wpdb->get_results($query);
$return_array = array();
foreach ($blogusers as $user)
{
$avatar_url = get_avatar_url ( get_the_author_meta($user->ID), $size = '50' );
$current_array = array(
'thumbnail' => $avatar_url,
'display_name' => $user->display_name,
'user_url' => site_url().'/members/'.$user->user_login
);
array_push($return_array, $current_array);
}
$echo_json = json_encode($return_array, JSON_PRETTY_PRINT);
echo $echo_json;
}
}
And this is the JSON result:
[
{
"thumbnail": "http:\/\/0.gravatar.com\/avatar\/?d=identicon&s=50",
"display_name": "PMBS Admin",
"user_url": "http:\/\/localhost\/web_pmbsnetwork\/members\/pmbsadmin"
},
{
"thumbnail": "http:\/\/0.gravatar.com\/avatar\/?d=identicon&s=50",
"display_name": "Johan HS",
"user_url": "http:\/\/localhost\/web_pmbsnetwork\/members\/johan"
},
{
"thumbnail": "http:\/\/0.gravatar.com\/avatar\/?d=identicon&s=50",
"display_name": "Seno Adi W",
"user_url": "http:\/\/localhost\/web_pmbsnetwork\/members\/seno"
}
]null
You guys may notice that there is a strange 'null' text in the end of json result.
After debug, I found out that was from global $wpdb
.
I have been doing:
- Include wp-load.php (http://wordpress.org/support/topic/wpdb-returning-null)
- Include all (maybe required) files (Using WPDB in standalone script?)
- Set global $wpdb = "foo" ($wpdb is null even after 'global $wpdb)
But no success. How can I remove the null text in the end of my JSON result?
Thanks.