通过API给定的URL获取远程帖子ID

时间:2019-08-22 作者:John Dee

Given you have a URL, how can you get the post ID of a post on a remote WordPress site?

据我所知,您必须:

HTTP GET /wp-json/v2/posts
然后查找您的URL,但问题是此端点在默认情况下只返回100个结果。

我不想为了找到给定URL的帖子ID而下载网站的全部内容。在V1中,您可以提交一个查询,但我认为这已经被低估了。有更好的方法吗?

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

岗位endpoint 接受slug 参数,因此如果可以从URL获取slug,则可以请求/wp-json/wp/v2/posts?slug=<slug>.

所以如果URL是http://example.com/hello-world/ 你知道子弹是hello-world, 然后,例如在JavaScript中,可以执行以下操作:

fetch( \'http://example.com/wp-json/wp/v2/posts?slug=hello-world\' )
    .then( res => res.json() )
    .then( posts => console.log( posts[0].id ) );
也可以创建自定义端点。。如果你已经控制了WordPress网站。看见this 了解更多详细信息。

相关推荐

REST API:注册和登录错误不是特定的

我已经创建了一个注册/登录表单,虽然它对这两个表单都非常有效,但让我感到困惑的是错误消息。我试图在注册时产生以下错误:电子邮件已在使用中,用户名已在使用中,缺少字段,但无论我做什么,我得到的错误总是\"Request failed with status code 400\"这是我用来制作post 创建用户的请求: const { username, password, email } = this.state; axios .post(`${Config.api