【发布时间】:2014-07-26 16:12:40
【问题描述】:
我正在使用带有 JSON REST API 插件的 wordpress (http://wordpress.org/plugins/json-rest-api/)。
我能够创建我的自定义端点。在这种情况下,我创建了显示 5 个用户的端点。
这是我的代码:
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;
}
}
这是 JSON 结果:
[
{
"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
你们可能会注意到json结果末尾有一个奇怪的'null'文本。
调试后发现是来自global $wpdb。
我一直在做:
- 包括 wp-load.php (http://wordpress.org/support/topic/wpdb-returning-null)
- 包括所有(可能需要)文件 (Using WPDB in standalone script?)
- 设置全局 $wpdb = "foo" ($wpdb is null even after 'global $wpdb)
但没有成功。如何删除 JSON 结果末尾的空文本?
谢谢。
【问题讨论】: