Я использую WP REST API (WP API) и получаю сообщения с помощью этого вызова ниже.
wp-json/posts
Есть 170 сообщений, а размер файла JSON составляет 3,1 МБ, загрузка которого занимает около 9 секунд. При извлечении сообщений мне нужны только данные заголовка и изображения, поэтому 99% файла JSON не нужны.
Я рассматривал этот метод ниже, который удаляет поля из ответа, он работает до некоторой степени, но все еще не удаляет такие поля, как ID
и 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 );
Итак, каков наилучший способ удалить все ненужные поля, включая поля с вложенным содержимым?
wp-json/posts?context=parent
. Следуя документации, он должен доставлять меньше данных на сообщение. - person hek2mgl   schedule 26.06.2015