有識者の皆様
お世話になっています。
現在、下記のようなことができるのか、調べていますが、どうにも進みませんので
お知恵をお借りいただきたいと思います。
やりたいことは、wordpressのwp rest api(v2)を使った記事投稿なのですが、
その際にカスタムフィールドの値も同時に投稿したいです。
調査中ですが、概要を下記にまとめました。
■環境
サーバA (さくらVPS)
サーバB(不明)
■ミドルウェア
サーバA、サーバB、ともに一般的なLAMP環境で、ブラウザからは問題なくwordpressが使えている状況
■試したこと
wordpressのWP REST API v2を使えば、サーバAのphpプログラムから、
サーバBのwordpressへ記事投稿ができる件を調べ、通常の記事投稿はできるようになりました(その際に必要なプラグインはここでは省略)
■調べたこと
・通常の記事投稿の際に、カスタムフィールドの値を投稿できないかどうか
・カスタムフィールドの値を呼び出す方法は、web上にちらほら発見しました
・プラグインをインストール(Advanced Custom Fields と ACF to REST API)しました
■現状のソースコード
・通常の記事投稿部分のみ抜粋
・記事投稿は成功し、サーバBのwordpressで記事が見えます
php
1$data = [ 2 "title" => "ここに記事タイトル", 3 "content" => "ここに内容", 4 "slug" => "スラッグ", 5 "categories" => "カテゴリ", 6 "status" => "publish" 7]; 8 9$header = [ 10 'Authorization: Basic ' . base64_encode('投稿用ユーザID' . ':' . '投稿専用パスワード'), 11 'Content-Type: application/json', 12]; 13 14$curl = curl_init(); 15 16curl_setopt($curl, CURLOPT_URL, サーバBのURL . '/?rest_route=/wp/v2/posts'); 17curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); 18curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); 19curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 20curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 21curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 22curl_setopt($curl, CURLOPT_HEADER, true); 23 24$response = curl_exec($curl); 25 26$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); 27$header = substr($response, 0, $header_size); 28$body = substr($response, $header_size); 29$result = json_decode($body, true); 30curl_close($curl);
■実現したいこと
上記のような環境とソースコードに対し、カスタムフィールドの値を増設し、
サーバBへの投稿の際に、カスタムフィールドも投稿したいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/19 03:01