我有一个使用 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数组中添加作者的数据。那是否有效还是有其他更有效的方法吗?
如果我的英语不完美,请提前致谢并对不起。
答案 0 :(得分:1)
您可以使用_embed
作者请求
wp-json/wp/v2/quotes?_embed=
嵌入资源仅适用于某些字段(例如帖子的作者,回复)
我能想到的唯一方法是循环引号,每个引用 循环通过作者检查id,然后从中添加数据 作者在引号数组中。
如果你想要一些不包含(嵌入)的链接数据,最小化REST API调用的常用模式是获取所有作者的列表然后创建author_id的数组映射 - >作者存储在客户端
O(n^2)
authors[id]
或Array.indexOf
)性能为O(n*logn)