从WP REST API

时间:2017-04-12 03:50:19

标签: json wordpress angular typescript ionic2

我有一个使用 ionic 2 开发的应用程序,是关于引号。我想用 Wordpress 和他的 REST API 来管理引号(以及作者,类别等)。在第一个实例中,我使用普通帖子,但现在我正在尝试使用自定义帖子类型,因为这样可以在后端为我提供更多控制和组织,因此我有一个quotes的CPT和authors的其他CPT,以及它们之间的关系。

示例↓

WP-JSON / WP / V2 /报价

[
  {
    id: 79,
    x_metadata: {
      custom_post_type_onomies_relationship: "77",
      quote: "Be yourself; everyone else is already taken"
    }
  }
]

WP-JSON / WP / V2 /作者

[
  {
    id: 77,
    title: {
      rendered: "Oscar Wilde"
    },
    x_metadata: {
      bio: "https://wikipedia.org/wiki/Oscar_Wilde"
    }
  }
]

您可以看到,关系位于custom_post_type_onomies_relationship,但我不知道如何在应用中正确合并此数据(我使用Angular 2 / Typescript)。

我能想到的唯一方法是遍历引号,通过作者检查id的每个引用循环,然后在quotes数组中添加作者的数据。那是否有效还是有其他更有效的方法吗?

如果我的英语不完美,请提前致谢并对不起。

1 个答案:

答案 0 :(得分:1)

您可以使用_embed作者请求

wp-json/wp/v2/quotes?_embed=

see embedding

更新

嵌入资源仅适用于某些字段(例如帖子的作者,回复)

  

我能想到的唯一方法是循环引号,每个引用   循环通过作者检查id,然后从中添加数据   作者在引号数组中。

如果你想要一些不包含(嵌入)的链接数据,最小化REST API调用的常用模式是获取所有作者的列表然后创建author_id的数组映射 - >作者存储在客户端

  • 嵌套循环性能为O(n^2)
  • 循环引号然后进行索引搜索(authors[id]Array.indexOf)性能为O(n*logn)

更多:array search performance in JS