【发布时间】:2019-01-17 03:48:17
【问题描述】:
我正在 WordPress REST API 中设置一个自定义端点,它将调用一条 SQL 语句。我不知道应该如何使用需要传入的参数设置 url,然后如何将其从 url 中取出以便可以在 SQL 查询中使用。
我已尝试将我的网址设为以下内容: https://www.mywebsitename.com/wp-json/prayerRequest/v1/1
我得到的回复是: {"code":"rest_no_route","message":"没有找到匹配 URL 和请求方法的路由","data":{"status":404}}
最后的1是我需要传入的id。
这是我的代码:
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 末尾的 id。
示例: url https://www.mywebsitename.com/wp-json/prayerRequest/v1/1 将导致 SQL 查询 SELECT * FROM wp_prayer_requests WHERE id = 1
【问题讨论】:
-
你试过完整的 url 吗?比如 base_url + 'prayerRequest/v1'
-
register_rest_route('https://www.mywebsite.com/wp-json/prayerRequest/v1', '/{id}', array('methods' => 'GET', 'callback ' => 'getPrayerRequestById' ));
标签: php wordpress restful-url