如何重新排列WordPress REST API注释?

时间:2019-06-18 07:50:24

标签: javascript wordpress reactjs api

我正在使用React和WordPress API。我收到具有父属性的帖子的评论,但是它们没有被组织为主题评论。 评论显然可以是父母和孩子。 我需要将其显示为主题注释,知道如何实现吗?

有办法吗?

这些是我在控制台中得到的评论: enter image description here

2 个答案:

答案 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)

您可以使用orderorderby参数。检查wp rest api handboook