@akaebiさん
はじめまして。
WordPressをヘッドレスCMSとして使うのでしたら、テーマとしては以下空ファイルを設置するだけになると思います。
- functions.php
- index.php
- style.css(テーマヘッダ情報は記載)
その上で、おっしゃるようなレスポンスのカスタマイズをfunctions.phpに記述していく事になると思います。
具体的な事例は思いつきませんが、主な開発内容は以下2点になるかと思います。
- カスタムフィールドも必要な場合は、
register_rest_field
でレスポンスデータにカスタムフィールドを追加する
- 標準のエンドポイントでは期待するレスポンスが得られない場合は、
register_rest_route
で独自エンドポイントを追加する
またセキュリティ上の注意点としては、思いつく限りですと以下のようになります。
※自作テーマに限らない対応も含んでいます。
wp_headers
でレスポンスデータを適切に調整する
rest_pre_dispatch
で、使わないエンドポイントを無効化する
.htaccess
等で、国外IPからのリクエストを拒否する、または指定のIP以外からのリクエストを拒否する
- JWT Authentication for WP REST APIプラグインなどを使って、トークン認証を導入する
- WordPress管理下のページにアクセスされた場合に真っ白のページが表示されないように、適切にリダイレクトをかける
以上、参考になれば幸いです。
@wildworks さん、はじめまして。
丁寧にご回答下さりありがとうございます。
大変参考になりました。ひとまずやってみます!
ひとまずやってみます。ありがとうございました!