WP_REST_Request "set_query_params" - $ _GET пуст - PullRequest
1 голос
/ 02 марта 2020

Я пытаюсь создать WP_REST_Request и установить некоторые параметры запроса. Я установил это так:

$request = new WP_REST_Request( 'GET', '/v2/some-path');
$request->set_query_params( ['lang' => 'da'] );

Однако параметры не установлены. Если я возвращаю только параметры $ _GET из запрошенного маршрута, то он возвращает пустой массив. Как получилось?

Я следовал этому руководству: https://developer.wordpress.org/reference/classes/wp_rest_request/set_query_params/

Это весь мой код:

$request = new WP_REST_Request( 'GET', '/v2/some-path');
$request->set_query_params( ['lang' => 'da'] );
$response = rest_do_request( $request );
$server = rest_get_server();
$data = $server->response_to_data( $response, false );

Если я запускаю get_query_params это дает правильный результат.

$request->get_query_params(); // it returns ['lang' => 'da']

1 Ответ

0 голосов
/ 02 марта 2020

В моем register_rest_route я должен получить параметры $ _GET, например, так:

register_rest_route( 'jwr/v1', '/products/(?P<slug>\S+)', array(
  'methods' => 'GET',
  'callback' => function($data) {
    $_GET = $data->get_query_params(); // this part fetches the right $_GET params
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...