Advanced Custom Fieldで作成したカスタムフィールドにWP REST APIで書き込もうとして、データ部分を当初以下のように書いてました。
const raw = JSON.stringify({
"title": "タイトル",
"book_author": "著者",
"book_publisher": "出版社",
});
項目名にACF側で設定したフィールド名を入れてみていたのですが、これでは登録できませんでした。
調べてみるとそもそもカスタムフィールドを扱う際にはpost_metaなどでまとめる必要があるそうで、以下のように書き直してみましたがダメ。
const raw = JSON.stringify({
"title": "タイトル",
"post_meta": {
"book_author": "著者",
"book_publisher": "出版社",
},
});
post_metaをACFのフィールドグループ名にしてみたりしてもダメで、さらに調べてみたら書いてくれてる人を見つけました。なんとacfという項目名でまとめるようです。これで書いたら通りました。
const raw = JSON.stringify({
"title": "タイトル",
"acf": {
"book_author": "著者",
"book_publisher": "出版社",
},
});
いやたしかにわかりやすいけど。acfて。
なんて思いつつ、こういうのってドキュメント見たら書いてあるんだろうな、って思って公式のドキュメント見てみたらありました。
ちゃんとドキュメント見たら書いてあるんだから、問題は怠惰と英語力のなさ、ですね。