【问题标题】:WP Rest API vs - how can I get author information from v2 - the author ID?WP Rest API vs - 我如何从 v2 获取作者信息 - 作者 ID?
【发布时间】:2016-07-08 17:49:45
【问题描述】:

我正在使用 WP JSON 构建前端,我需要(除其他外)每篇文章的作者姓名。

在 V1 中,这很简单 - 这是调用 http://example.com/wp-json/posts/1 的典型帖子对象的片段:

 {
    "ID": 1,
    "title": "Hello world!",
    "status": "publish",
    "type": "post",
    "author": {
        "ID": 1,
        "name": "admin",
        "slug": "admin",
        "URL": "",
        "avatar": "http:\/\/0.gravatar.com\/avatar\/c57c8945079831fa3c19caef02e44614&d=404&r=G",
        "meta": {
            "links": {
                "self": "http:\/\/example.com\/wp-json\/users\/1",
                "archives": "http:\/\/example.com\/wp-json\/users\/1\/posts"
            }
        }
    },

但是在 V2 中,对于作者来说,我们得到的只是 ID(一个整数)。将其传回 API,我们会获得作者撰写的每篇文章的列表 - 但我如何才能获得作者的信息 - 他们的姓名、头像等?

PS:天啊,V2 文档很少……V1 好多了……

【问题讨论】:

    标签: json wordpress api rest


    【解决方案1】:

    在您的 API URL 中附加查询参数 _embed

    通过在请求上设置 _embed 查询参数来触发嵌入。然后,这将在 JSON 文件中与 _links 键相邻的 _embedded 键下包含嵌入式资源...如http://v2.wp-api.org/reference/links.html 中所示

    例子:

    http://demo.wp-api.org/wp-json/wp/v2/posts?_embed
    
    http://demo.wp-api.org/wp-json/wp/v2/posts?filter%5Bposts_per_page%5D=10&page=1&_embed
    

    从 JSON 中获取作者姓名,并显示:

    {{postItem._embedded.author[0].name}}
    

    获取特色图片:

    {{postItem._embedded['wp:featuredmedia'][0].source_url}}
    

    分类:

    {{postItem._embedded['wp:term'][0][0].slug}}
    {{postItem._embedded['wp:term'][0][1].slug}}
    {{postItem._embedded['wp:term'][0][2].slug}}
    {{postItem._embedded['wp:term'][0][3].slug}}
    ...
    

    和标签:

    {{postItem._embedded['wp:term'][1][1].slug}}
    {{postItem._embedded['wp:term'][1][2].slug}}
    ...
    

    【讨论】:

    • 是否有关于wp:term 结构的文档? categories 会一直在0 中,tags1 中吗?它会只包含这两个实体吗?他们的文档确实很少。
    • 非常感谢!!这很有帮助!像魅力一样工作
    【解决方案2】:

    我想你想要的是/wp-json/wp/v2/users/1

    您还应该在_links > author > href 找到直接网址

    【讨论】:

    • 太棒了。如果您能接受答案,我将不胜感激。
    • 但是通过这种方法你必须查询两次(2次调用)。一个用于发布数据,另一个用于作者数据。
    • 你必须这样做。使用上面建议的 _embed 选项,它将打开一个拥有更好选择的全新世界。
    猜你喜欢
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多