WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru
функция не описана

WP_REST_Controller::filter_response_by_context() WP 4.7.0

Filters a response based on the context defined in the schema.

Это метод класса: WP_REST_Controller

Хуков нет.

Возвращает

Массив. Filtered response.

Использование

$WP_REST_Controller = new WP_REST_Controller();
$var = $WP_REST_Controller->filter_response_by_context( $data, $context );
$data(массив) (обязательный)
Response data to fiter.
$context(строка) (обязательный)
Context defined in the schema.

Код WP REST Controller::filter response by context: wp-includes/rest-api/endpoints/class-wp-rest-controller.php VER 5.0.3

<?php
public function filter_response_by_context( $data, $context ) {

	$schema = $this->get_item_schema();

	foreach ( $data as $key => $value ) {
		if ( empty( $schema['properties'][ $key ] ) || empty( $schema['properties'][ $key ]['context'] ) ) {
			continue;
		}

		if ( ! in_array( $context, $schema['properties'][ $key ]['context'], true ) ) {
			unset( $data[ $key ] );
			continue;
		}

		if ( 'object' === $schema['properties'][ $key ]['type'] && ! empty( $schema['properties'][ $key ]['properties'] ) ) {
			foreach ( $schema['properties'][ $key ]['properties'] as $attribute => $details ) {
				if ( empty( $details['context'] ) ) {
					continue;
				}

				if ( ! in_array( $context, $details['context'], true ) ) {
					if ( isset( $data[ $key ][ $attribute ] ) ) {
						unset( $data[ $key ][ $attribute ] );
					}
				}
			}
		}
	}

	return $data;
}