В моем блоге я пытаюсь создать конечную точку, чтобы загружать больше статей, используя ajax. Однако параметры строки запроса, похоже, не передаются моей функции.
Вот мой код, все это в файле function.php
:
add_action( 'rest_api_init', function () {
register_rest_route( 'blog', '/articles', array(
'methods' => WP_REST_Server::READABLE,
'callback' => 'load_more'
));
});
function load_more(WP_REST_Request $request) {
var_dump($request->has_valid_params());
var_dump($request->get_params());
var_dump($request);
}
А вот что возвращается, когда я звоню /wp-json/blog/articles/?lang=en&tag=test
:
bool(true)
array(0) {}
object(WP_REST_Request)#2259 (8) {
["method":protected]=>
string(3) "GET"
["params":protected]=>
array(6) {
["URL"]=>
array(0) {
}
["GET"]=>
array(0) {
}
["POST"]=>
array(0) {
}
["FILES"]=>
array(0) {
}
["JSON"]=>
NULL
["defaults"]=>
array(0) {
}
}
["body":protected]=>
string(0) ""
["route":protected]=>
string(14) "/blog/articles"
["attributes":protected]=>
array(6) {
["methods"]=>
array(1) {
["GET"]=>
bool(true)
}
["accept_json"]=>
bool(false)
["accept_raw"]=>
bool(false)
["show_in_index"]=>
bool(true)
["args"]=>
array(0) {
}
["callback"]=>
string(9) "load_more"
}
["parsed_json":protected]=>
bool(true)
["parsed_body":protected]=>
bool(false)
}
Это почти как параметры были удалены из объекта запроса до достижения моей функции.