Я настраиваю пользовательскую конечную точку в WordPress REST API, которая будет вызывать оператор SQL. Я не могу понять, как URL-адрес должен быть настроен с параметром, который должен быть передан, а затем, как получить его из URL-адреса, чтобы его можно было использовать в запросе SQL.
Я попытался использовать свой URL следующим образом:
https://www.mywebsitename.com/wp-json/prayerRequest/v1/1
Ответ, который я получаю:
{"code": "rest_no_route", "message": "Не найдено ни одного маршрута, соответствующего URL и методу запроса", "data": {"status": 404}}
1 в конце - это идентификатор, который мне нужно передать.
Вот мой код:
add_action('rest_api_init', 'prayer_request_routes');
function prayer_request_routes() {
register_rest_route('prayerRequest/v1', '/{id}', array(
'methods' => 'GET',
'callback' => 'getPrayerRequestById'
));
}
function getPrayerRequestById() {
global $wpdb;
$id = $_GET['id'];
$query = "SELECT * FROM wp_prayer_requests WHERE id = $id";
$result = $wpdb->get_results($query);
return $result;
}
Я хочу, чтобы переменная $ id была идентификатором в конце URL-адреса.
Пример:
URL https://www.mywebsitename.com/wp-json/prayerRequest/v1/1 приведет к выполнению SQL-запроса SELECT * FROM wp_prayer_requests WHERE id = 1