Javascript wordpress以编程方式添加post标记
我正在尝试使用PHP和JS以编程方式将post标记添加到新的post中。 我有使用ajax发送我想要添加的id的代码,PHP检查它们是否存在,如果没有创建它们。然后它按名称搜索,并将ID发送回Ajax 我的问题在于将所有post标记添加到post,因为只有最后一个标记将自己添加到postJavascript 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];
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})
},