我正在使用WordPress REST API编写自己的自定义终结点。我目前有一个使用帖子ID的帖子的注册端点。
$version = '1';
$namespace = 'vendor/v' . $version;
$base = 'route';
register_rest_route( $namespace, '/' . $base . /(?P<id>[\d]+)', array(
array(
'methods' => WP_REST_Server::READABLE,
'callback' => 'get_data_function',
),
因此,当我在已注册的休息路线的末尾添加(?P<id>[\d]+)
时,它将仅获取具有特定ID的帖子的数据。这可能与帖子的子弹有关吗?因此,该路线将被注册为相同的路线,但是除了添加(?P<id>[\d]+)
外,我将添加类似的内容以将其注册为帖子的子弹
我正在对此进行一些研究,但找不到任何信息
答案 0 :(得分:0)
我找到了自己问题的答案。如果有人偶然发现这个问题并在寻找答案,我会使用$adminnotice = new WC_Admin_Notices();
$adminnotice->add_notice("something");
来检查REST端点中的问题。例如:
create table #tempTable1 (Column1 int)
declare @new_seed varchar(20) = CAST((select max(ID) from SomeOtherTable) as varchar(20))
exec (N'alter table #tempTable1 add ID int IDENTITY('+@new_seed+', 1)')
如果您要去(?P<slug>[a-zA-Z0-9-]+)
它将以register_rest_route('test/v1', 'posts/(?P<slug>[a-zA-Z0-9-]+)', [
'methods' => 'GET',
'callback' => 'post_single',
]);
function post_single($slug) {
$args = [
'name' => $slug['slug'],
'post_type' => 'post'
];
$post = get_posts($args);
$data['id'] = $post[0]->ID;
$data['title'] = $post[0]->post_title;
$data['slug'] = $post[0]->post_name;
$i++;
return $data;
}