我正在使用 WP REST API (WP API),并通过下面的调用检索帖子。
wp-json/posts
有 170 个帖子,JSON 文件为 3.1MB,下载大约需要 9 秒。拉帖子时,我需要的唯一数据是标题和功能图像,因此不需要 99% 的 JSON 文件。
我一直在研究下面这种从响应中删除字段的方法,它在一定程度上有效,但仍然没有删除诸如ID
and之类的字段author
。
function remove_extra_data( $data, $post, $context ) {
unset( $data['ID'] );
unset( $data['status'] );
unset( $data['excerpt'] );
unset( $data['type'] );
unset( $data['author'] );
unset( $data['content'] );
unset( $data['parent'] );
unset( $data['date'] );
unset( $data['modified'] );
unset( $data['format'] );
unset( $data['slug'] );
unset( $data['guid'] );
unset( $data['menu_order'] );
unset( $data['comment_status'] );
unset( $data['ping_status'] );
unset( $data['sticky'] );
unset( $data['date_tz'] );
unset( $data['date_gmt'] );
unset( $data['modified_tz'] );
unset( $data['modified_gmt'] );
unset( $data['meta'] );
return $data;
}
add_filter( 'json_prepare_post', 'remove_extra_data', 10, 3 );
那么删除所有不需要的字段(包括具有嵌套内容的字段)的最佳方法是什么?