PODSとWordPress REST API
podsの「拡張コンテンツタイプ」でつくった独自のテーブルは REST APIではサポートされてないみたいです。
Pods REST API support covers post type, taxonomy and user Pods.
コンテンツタイプで「カスタム投稿タイプ」を選択すると
REST API の設定画面が現れたので、 ページはカスタム投稿タイプを利用することに決定。
・・・で、カスタム投稿タイプでpodを作成し、記事を作ってみました。
・・・で、さっそくいそいそと JSON 吐き出していただこうと カスタム投稿の名前(ここではplace)を入れて
http://DUMMY.com/wp-json/wp/v2/place と入れてみたら・・・404エラー
そういえば・・・・先の REST API の設定で有効化にチェックいれてなかった・・・
1 有効化にチェック
そしてふたたび
http://DUMMY.com/wp-json/wp/v2/place と入れてみたら
カスタム投稿のJSONが吐き出されました・・・・が、欲しかったのは 実は コレジャナイ
これは、WPのカスタム投稿についてのデータ。PODSのデータはどこにおるん??
ここで再び 先ほどの REST API 設定画面
2番目のREST Base を設定します。
This will form the url for the route. ここでつけた名前(URL)がルートになるってことね。
place と入れてみました。
でJSON出してみたら 変化なし
そりゃそうか、デフォルトがplace だから 同じ名前を設定しても変わりませんよね。
このREST Base の欄には 別の名前を設定したいときに入れればよいということですね。
(pods作成時に名前決めて そのあとで運用を考えるとURL変えた方がいい時ってありますよね。
そういうときに便利そうですね)
試しに spot という名前にしてみました。
でも、さっきと同じ。 そりゃあそうです。
設定画面で
Show All Fields にチェックをいれましょう。
これは、すべてのフィールドをREST APIで呼び出すよということなので、
チェックをいれないときは 個別にフィールドの設定で行います。
Show all fields in REST API. If unchecked fields must be enabled on a field by field basis.
ちなみに、フィールドの個別設定のREST APIタブにも
あらたに設定画面ができてました!
さて、Show all fields in REST API にチェックして再度JSON
書き出せました!!!
さて、管理パネルの最後の項目
Allow All Fields To Be Updated
これはなんじゃろ?
外から更新(書き換え)できるよ っていう設定のようですね。
Allow all fields to be updated via the REST API.
個別に設定するならそれぞれのフィールドで設定しなさいと書いてあります。
If unchecked fields must be enabled on a field by field basis.
いまのところ この必要性がないのでチェックせずにおきます。
今後、使ってみたい機能ではあります。
また試してみたいと思います
補足
podsの編集 高度な設定 の最後に
投稿のカテゴリーとタグが使えるチェックがあったので
入れてみたところ、カスタム投稿ページにも同じ
カテゴリーとタグの欄が出てきました。
Json にもちゃんと反映されたのですが
残念なことに、どちらもIDしか出ませんでした。
で表示されるので それと連携すれば使えそうですね。
最近のコメント