我正在使用React和WordPress API。我收到具有父属性的帖子的评论,但是它们没有被组织为主题评论。 评论显然可以是父母和孩子。 我需要将其显示为主题注释,知道如何实现吗?
有办法吗?
答案 0 :(得分:0)
我认为这段代码可以满足您的需求。它按照父ID的降序对列表进行排序,并将每个注释推入父ID。如果父级为0,则不会推送它,因为该值必须是第一个注释之一。
var arr = [
{id: 7, post: 1, parent: 4, author: 1, author_name: 'me'},
{id: 6, post: 1, parent: 5, author: 1, author_name: 'me'},
{id: 5, post: 1, parent: 4, author: 1, author_name: 'me'},
{id: 4, post: 1, parent: 0, author: 1, author_name: 'me'},
{id: 3, post: 1, parent: 0, author: 1, author_name: 'me'},
{id: 2, post: 1, parent: 1, author: 1, author_name: 'me'},
{id: 1, post: 1, parent: 0, author: 0, author_name: 'other'},
]
arr = arr.sort((a, b) => b.parent - a.parent)
const sortComments = (arr) => {
var temp = [...arr]
arr.forEach((o, index) => {
if (temp[0].parent === 0) return
var parentIndex = temp.findIndex(o => o.id === temp[0].parent)
temp[parentIndex].children ? temp[parentIndex].children.push(temp[0]) : temp[parentIndex].children = [temp[0]]
temp.shift()
})
return temp
}
console.log(sortComments(arr))
答案 1 :(得分:-1)
您可以使用order
和orderby
参数。检查wp rest api handboook。