Javascript wordpress以编程方式添加post标记

Javascript wordpress以编程方式添加post标记,javascript,php,ajax,wordpress,Javascript,Php,Ajax,Wordpress,我正在尝试使用PHP和JS以编程方式将post标记添加到新的post中。 我有使用ajax发送我想要添加的id的代码,PHP检查它们是否存在,如果没有创建它们。然后它按名称搜索,并将ID发送回Ajax 我的问题在于将所有post标记添加到post,因为只有最后一个标记将自己添加到post success: function(data) { for(var i = 0; i < data.length; i++) { var obj = data[i];

我正在尝试使用PHP和JS以编程方式将post标记添加到新的post中。 我有使用ajax发送我想要添加的id的代码,PHP检查它们是否存在,如果没有创建它们。然后它按名称搜索,并将ID发送回Ajax

我的问题在于将所有post标记添加到post,因为只有最后一个标记将自己添加到post

success: function(data) {
    for(var i = 0; i < data.length; i++) {
        var obj = data[i];
        console.log(obj.term_id);
        wp.data.dispatch('core/editor').editPost({tags: [obj.term_id]})
    }
},
成功:函数(数据){
对于(变量i=0;i
Console.log写入所有应添加的post标记ID。在for循环中使用
wp.data.dispatch('core/editor').editPost({tags:[obj.term_id]})
时,它只将最后一个id添加到post中。在我的特定情况下,我有两个ID,每个post标签一个(ID51和110),但它只将ID110添加到post中

因为它在for循环中,所以不应该同时添加这两个元素吗


感谢在不了解
wp.data
api的情况下,最好的猜测是您希望创建完整的值数组,并且只调用
editPost()
一次。。。通过整个阵列

您可以使用
Array#map()
数据创建术语的完整数组

比如:

success: function(data) {

    var termsArray = data.map(function(el){ 
        return el.term_id; 
    });

    wp.data.dispatch('core/editor').editPost({tags: termsArray})

},