【发布时间】:2019-10-26 10:19:27
【问题描述】:
我是 WordPress 的新手,我正在玩 Advanced Custom Fields 插件。看起来不错,但我想知道是否可以通过WordPress REST APIPOST 一个新对象(使用ACF 创建)?我已经将它用于GET 我所有的自定义对象(感谢ACF to REST API Plugin)。
我使用WordPress 作为后端,NextJS 作为前端,所以我想创建一个新的 HTML 表单,用户可以在其中输入一些信息并直接创建该对象的实例。
如果不可能,保存到数据库(普通 MySQL 实例)并模拟我需要的相同操作的机制是什么?如果还存在一些自定义实现,我想阻止执行一些自定义实现(如果您需要有关问题或数据的更多信息,请告诉我)
编辑:
经过一番研究,我发现我试图使用不正确的端点创建对象。
现在我可以创建自己的对象(自定义帖子类型),但我无法填充 ACF 字段...
我发送一个标准请求:
var data = JSON.stringify({
"title": "Test00",
"status": "publish",
"acf":{
"customfield1":"Some value..."
}
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "http://localhost:8000/wp-json/wp/v2/custom");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3Q6ODAwMCIsImlhdCI6MTU2MDM3NTQxNywibmJmIjoxNTYwMzc1NDE3LCJleHAiOjE1NjA5ODAyMTcsImRhdGEiOnsidXNlciI6eyJpZCI6IjIifX19.BCyrlFm_qD3-9DzCxQ37n4pJYkTasvLaN34NJtFAMC4");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
我收到了这个:
{
...
"acf":{
"customfield1":null
}
}
有什么方法可以一次性完成吗?我应该创建对象然后发送额外的信息吗?
【问题讨论】:
标签: javascript wordpress advanced-custom-fields headless