サポート » テーマ » WP REST API専用のテーマ(ヘッドレスCMS化)

  • テーマを自作する際、WP REST APIでコンテンツを取得することのみを前提とした、ヘッドレスCMS的なテーマを開発しようと思っています。おそらく可能ではあると思っているのですが、この際注意したほうがいいことや、事例の存在をご存知でしたらご教示願いたく思います。
    ちなみに、テーマを自作する理由は、表示するサイトとしては使わないことと、レスポンスデータやロジックのカスタマイズです。よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • @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管理下のページにアクセスされた場合に真っ白のページが表示されないように、適切にリダイレクトをかける

    以上、参考になれば幸いです。

    • この返信は2年、 7ヶ月前にAki Hamanoが編集しました。
    トピック投稿者 akaebi

    (@akaebi)

    @wildworks さん、はじめまして。
    丁寧にご回答下さりありがとうございます。
    大変参考になりました。ひとまずやってみます!

    ひとまずやってみます。ありがとうございました!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「WP REST API専用のテーマ(ヘッドレスCMS化)」には新たに返信することはできません。