多次查找以获取WordPress博客json的提要



我正试图为wordpress博客获取json,但似乎需要在每个新闻元素上进行多次查找才能获取图像。

json数组从服务器返回,但随后提供一个url来查找每个图像。我开始编写一个函数来获取博客json并将其合并到一个数组对象中,但现在我不确定如何继续。

这是一把小提琴http://jsfiddle.net/emodsbjz/2/

buildBlogObj(data){
let imageBlogArrayUrl = [];
let blogJson = [];
for (var i = 0; i < data.length; i++) {
console.log(data[i]);
let obj = {
"label" : data[i].title.rendered,
"body" : data[i].content.rendered,
"image" : "placeholder.jpg"
}//placeholder image
imageBlogArrayUrl.push(data[i]["_links"]["wp:featuredmedia"][0]["href"]);
blogJson.push(obj);       
}
blogJson = blogJson.slice(0, 4);//latest 4
this.setState({ blogs: blogJson });
console.log("blogJson", blogJson);

console.log("imageBlogArrayUrl", imageBlogArrayUrl);
let imageBlogArray = [];
for (var i = 0; i < imageBlogArrayUrl.length; i++) {
this.props.fetchBlogImage(imageBlogArrayUrl[i], function(resp){
imageBlogArray.push(resp.data.source_url)
})
}
console.log("imageBlogArray", imageBlogArray);
//let that = this;
//blogJson[i]["image"] = resp.data.source_url;
//that.setState({ blogs: blogJson });
//that.setState({ blogJson[i]["image"]: resp.data.source_url });
}
componentDidMount(){
let that = this;    
this.props.fetchBlog(function(resp){
that.buildBlogObj(resp.data);      
});
}

如果您想获得每个博客文章的特色图像URL,您可以在REST API端点的末尾附加?_embed,以获得每个图像的URL以及其他数据:

https://www.bizzfizz.co.uk/wp-json/wp/v2/posts?_embed

特征图像URL可以在_embedded['wp:featuredmedia'][0].source_url对象路径中找到。

最新更新