WordPress REST API会通过Slug接收单个帖子的数据吗?

时间:2019-07-09 12:16:11

标签: wordpress wordpress-rest-api

我正在使用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]+)外,我将添加类似的内容以将其注册为帖子的子弹

我正在对此进行一些研究,但找不到任何信息

1 个答案:

答案 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; }

的形式获取帖子的数据