функция
since 4.4.0
rest_handle_options_request()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
rest_handle_options_request( mixed $response, WP_REST_Server $handler, WP_REST_Request $request ): WP_REST_Response
Описание
Это обрабатывается вне кода сервера, поскольку не подчиняется обычному сопоставлению маршрутов.
Оригинал (английский)
This is handled outside of the server code, as it doesn’t obey normal route mapping.
Параметры
$response
mixed
обязательный
Текущий ответ: либо ответ, либо null для обозначения сквозной передачи.
$handler
WP_REST_Server
обязательный
Экземпляр ResponseHandler (обычно WP_REST_Server).
$request
WP_REST_Request
обязательный
Запрос, использованный для формирования текущего ответа.
Возвращаемое значение
WP_REST_Response
null
Исходный код
wp-includes/rest-api.php:820
function rest_handle_options_request( $response, $handler, $request ) {
if ( ! empty( $response ) || $request->get_method() !== 'OPTIONS' ) {
return $response;
}
$response = new WP_REST_Response();
$data = array();
foreach ( $handler->get_routes() as $route => $endpoints ) {
$match = preg_match( '@^' . $route . '$@i', $request->get_route(), $matches );
if ( ! $match ) {
continue;
}
$args = array();
foreach ( $matches as $param => $value ) {
if ( ! is_int( $param ) ) {
$args[ $param ] = $value;
}
}
foreach ( $endpoints as $endpoint ) {
$request->set_url_params( $args );
$request->set_attributes( $endpoint );
}
$data = $handler->get_data_for_route( $route, $endpoints, 'help' );
$response->set_matched_route( $route );
break;
}
$response->set_data( $data );
return $response;
}
История изменений
| Версия | Описание |
|---|---|
| 4.4.0 | Introduced. |

