Lesson 6

WordPress REST APIを活用する

Lesson 6 Chapter 1
WordPress REST APIを活用する

WordPressのREST APIは、WordPressサイトのデータを外部から取得・更新・削除することができる便利な機能です。

これらの機能を活用することで、より複雑なウェブアプリケーションを構築することができます。

ここでは、WordPress REST APIを活用するメリットや具体的な使用方法について解説します。

Web開発やアプリ開発を行う際に、WordPressの機能を最大限に活用したい方は必読の内容です。

Lesson 6 Chapter 2
WordPress REST APIとは

RESTとは

WordPress REST APIは、WordPressの機能やデータへのアクセスを提供するためのRESTfulなWebサービスです。

RESTは、Representational State Transfer(表現的状態転送)の略語です。

分散システムを構築するためのアーキテクチャスタイルの一つで、RESTの原則に従って設計されたWeb APIは、Webブラウザだけでなく、スマートフォンやタブレットなど、さまざまな種類のクライアントから利用できます。

WordPressの基本機能だけでなく、カスタム投稿タイプやカスタムタクソノミーなどのカスタムデータ型、およびプラグインやテーマで追加されたカスタムエンドポイントにもアクセスできます。

REST APIを使用することで、WordPressを使用したWebアプリケーションやモバイルアプリケーションを簡単に構築することができます。

HTTP規格で通信を行っており、HTTPメソッド(GET、POST、PUT、DELETEなど)を使用して、WordPressのデータへのアクセスや操作を行います。

データはJSON形式で返され、XML形式でも利用可能です。

WordPress REST APIは、WordPress 4.7以降で標準的に提供され、WordPressにデフォルトで含まれているREST APIエンドポイントに加えて、プラグインやテーマで独自のREST APIエンドポイントを追加することもできます。

Lesson 6 Chapter 3
REST APIでできること

2016年に基本機能として追加されたREST APIによってWordPressは単なるCMSからアプリケーションプラットフォームへと転換され、開発の幅が大きく広がりました。

特に汎用性の高い機能を解説いたします。

コンテンツへのパブリックアクセスが可能

WordPressのコンテンツに対してパブリックアクセスを可能にすることができ、REST APIを介してWordPressサイトにアクセスし、そのコンテンツに対してHTTPリクエストを送信することができるということです。

例えば、WordPress REST APIを使用すると、投稿やページなどのコンテンツを取得したり、投稿やページを作成、更新、削除したりすることができます。

これにより、WordPressサイトのコンテンツを外部アプリケーションやサービスから操作することが可能になります。

また、WordPressサイトのデータをJSON形式で取得することができ、これによりWordPressサイトのデータをAPIエンドポイントにリクエストし、フロントエンドのJavaScriptフレームワークなどで使用することができます。

さらに、WordPressサイトにカスタムエンドポイントを追加することも可能にしており、WordPressサイトのカスタム機能を外部アプリケーションやサービスからアクセスできるようにすることができます。

データのCRUD操作が可能

WordPress REST APIを使うことで、データのCRUD操作が可能になります。

CRUD(クラッド)とは、Create(作成)、Read(読み取り)、Update(更新)、Delete(削除)の略語で、データの操作における基本的な機能を表しています。

次のような操作が可能になります。

  • ポストの作成、取得、更新、削除
  • カスタム投稿タイプ、タクソノミー、タグ、カテゴリー、メディアファイルなどの作成、取得、更新、削除
  • ユーザー、ユーザーロール、ユーザーメタデータの作成、取得、更新、削除
  • コメント、コメントメタデータの作成、取得、更新、削除

フィルタリングとソート

特定の条件でフィルタリングしたり、ソートしたりすることができます。

例えば、特定のカテゴリに属するアイテムのみを取得したり、商品価格の低い順にソートしたりすることができます。

認証とセキュリティ

REST APIはセキュリティを確保するために認証をサポートしています。

APIキー、OAuthトークン、ユーザー名とパスワードなどを使用して、アクセス制御を行うことができます。

ファイルのアップロードとダウンロード

画像や動画などのさまざまなファイルをアップロード・ダウンロードすることができます。

ポストとは

ポストとは、ウェブサイト上でコンテンツを投稿するための用語であり、WordPressでは、記事やページのことを指します。
WordPressでは、ポストはコンテンツの中核を成す要素であり、タイトル、コンテンツ、カテゴリ、タグ、コメントなどの情報を含むことができます。

これらの操作には、HTTPリクエストを使用します。

たとえば、ポストを作成する場合、POSTリクエストを送信し、新しいポストを作成するデータをリクエストの本文に含めます。

同様に、既存のポストを更新する場合はPUTリクエストを使用し、ポストのIDや更新するデータを含めます。

削除する場合はDELETEリクエストを使用し、削除対象のデータを指定します。

これらの操作を実行するためには、認証が必要となっています。

また、OAuth認証やJWT認証などの標準的な認証方法をサポートしており、APIキーを使った簡易認証も可能です。

各認証方法については下記で解説いたします。

つまり、WordPress REST APIを利用することで、外部からWordPressサイトのデータを取得したり、更新・削除したりすること可能にしており、これによりWordPressサイトの機能を外部アプリケーションやサービスと連携させることができます。

WordPressのデータを用いたアプリ開発が可能

WordPressのデータを外部アプリケーションやサービスに公開することができるため、それを利用してアプリケーション開発を行うことができます。

これにより、WordPress上のコンテンツを取得して外部アプリケーションで表示することができるため、より柔軟性の高いWebアプリケーションを作成することができます。

例えば、WordPressのREST APIを使って、WordPressの記事やページなどのコンテンツを取得し、ReactやAngularといったJavaScriptのフレームワークを使用してフロントエンドを作成することができます。

このようにすることで、WordPressのデータを利用しながら、フレキシブルで高速なWebアプリケーションを構築することができます。

フレキシブルとは

フレキシブルとは、柔軟であることを表す言葉です。
IT分野においては、システムやプログラムが柔軟に変更や拡張ができることを指します。
具体的には、設計段階で多くのケースを想定し、変更が必要になった際に追加や修正がしやすいように構成することや、拡張性の高いアーキテクチャを採用することが挙げられます。

また、WordPress REST APIは、OAuth 1.0aやOAuth 2.0といった認証方法をサポートしているため、認証されたユーザーのデータをアプリケーションで取得・更新することも可能です。

たとえば、WordPressのユーザーデータを使用して、独自のアプリケーションを作成することができ、ユーザーデータを利用したカスタムアプリケーションを開発することができます。

Lesson 6 Chapter 4
WP REST APIの認証方式

WordPress REST APIは、WordPressサイトのデータを外部のアプリケーションから取得するためのAPIですが、このAPIを使うことでWordPressサイトの投稿やページ、カテゴリー、タグなどのコンテンツを取得することができます。

しかし、認証を設定しない場合、誰でもAPIを使ってWordPressサイトのデータを取得することができてしまいセキュリティ面に不安が残ります。

そのため、WP REST APIでは認証方式を設定することができます。

これでは、WP REST APIで利用可能な認証方式について紹介します。

認証には以下の3つの方法があります。

  1. 基本認証 (Basic Authentication)
  2. JWT認証 (JWT Authentication)
  3. OAuth認証 (OAuth Authentication)

Cookie認証

Cookie認証は、WordPressのデフォルトの認証方式の1つであり、ユーザーがログインしている場合に、サーバーがセッションcookieを生成し、そのcookieを使ってユーザーを認証します。

セッションcookieとは

セッションcookieは、ユーザーがウェブサイトにアクセスしている間、ブラウザが保持する一時的なデータのことです。
ウェブサイトのサーバーがユーザーを識別するために使用されます。

このcookieには、ユーザーのIDやログイン状態などの情報が含まれています。

クライアントは、このcookieをHTTPヘッダーに含めてリクエストを送信し、サーバーはそのcookieを確認して、ユーザーが認証されているかどうかを判断します。

WordPress REST APIでは、Cookie認証を使用することができます。

Cookie認証を使用するには、Cookieを受け取って認証を行うためのカスタムエンドポイントを作成する必要があります。

カスタムエンドポイントとは

カスタムエンドポイントとは、WordPressのREST APIを使用して独自のエンドポイントを定義することを意味します。
WordPressのREST APIは、標準的なエンドポイント(例:記事、コメント、カテゴリ、タグなど)を提供しますが、カスタムエンドポイントを使用することで、ユーザー独自のエンドポイントを定義し、それらにアクセスすることができます。

WordPressのデフォルトのCookie認証は、セキュリティ上の問題があるため、外部からのアクセスには適していません。

代わりに、OAuth2やJWTなどのより安全な認証方式を使用することをお勧めします。

OAuth 2.0とは

ユーザーがアプリケーションに対して安全にアクセスできるようにするための認証および承認フレームワークです。
OAuth 2.0フレームワークでは、ユーザーは、IDプロバイダーやソーシャルメディアサイトなどの認証サービスを使用して、アプリケーションにアクセスするためのアクセストークンを取得します。
これにより、ユーザーは自分の個人情報をアプリケーションと共有することなく、アプリケーションを使用できます。

JWT(JSON Web Token)とは

Webトークンの一種であり、データを安全に伝送するための標準化された手段の1つです。
JWTは、JSON形式でエンコードされたトークンを使用して、サーバーとクライアント間でデータを安全にやりとりするために使用されます。

Oauth認証

OAuth(オーオース)認証は、Webサービスにアクセスするための認証方法の1つであり、ユーザーがアプリケーションに対して権限を与えるために使用されます。

WordPress REST APIでもOAuth認証が利用でき、以下の3つの主要な役割があります。

  1. ユーザー
  2. APIにアクセスするために、OAuthを使用するアプリケーションによってリクエストされたユーザーの承認を与えます。

  3. API
  4. OAuthを使用するアプリケーションによってアクセスされるAPIを提供します。

  5. サードパーティのアプリケーション
  6. OAuthを使用してAPIにアクセスするアプリケーションです。

    サードパーティのアプリケーションは、ユーザーの許可を得て、APIにアクセスすることができます。

OAuth認証では、以下の手順で認証が行われます。

  1. ユーザーがアプリケーションにログインします。
  2. アプリケーションが、APIへのアクセス権限をリクエストします。
  3. APIは、ユーザーがアプリケーションにアクセス権限を与えるよう要求します。
  4. ユーザーがアクセス権限を許可する場合、APIはアクセストークンを生成します。
  5. アプリケーションは、アクセストークンを使用してAPIにアクセスします。

アクセストークンは、ユーザーの認証情報を含まず、代わりにAPIにアクセスするためのトークンです。

このため、アプリケーションがユーザーの認証情報を保持する必要はありません。

また、アクセストークンは一定期間のみ有効で、期限が切れた場合は再度認証を行う必要があります。

WordPress REST APIでは、OAuth 1.0aが利用可能です。

OAuth 1.0aは、セキュリティが高く、アプリケーションがユーザーの認証情報を保持しなくてもAPIにアクセスできるため、安全性が高い認証方式です。

Basic認証

Basic認証は、HTTPプロトコルで使用される一種の認証方式で、IDとパスワードの組み合わせを用いてクライアントが認証を行う方法です。

これは、WordPress REST APIでもサポートされています。

Basic認証を使用する場合、HTTPリクエストのヘッダに認証情報を含める必要があります。

具体的には、Authorizationヘッダに "Basic" という文字列と、IDとパスワードをBase64でエンコードした文字列をセットします。

例えば、以下のようになります。

Authorizationヘッダ
                      Authorization: Basic xxxxxxxxxxxxxxxxx
                    

ここで、"xxxxxxxxxxxxxxxxx" の部分は、IDとパスワードをBase64でエンコードした文字列です。

この文字列は、IDとパスワードが平文で送信されるわけではなく、Base64という単純な暗号化方式でエンコードされているだけであり、セキュリティにはあまり強くありません。

エンコードとは

エンコードとは、ある種のデータをコンピュータにとって扱いやすい形式に変換することを指します。
主にテキストデータや画像、音声などのデータを変換することがあります。

WordPress REST APIでは、Basic認証を有効にするためには、以下のようにコードを書きます。

php
                      
                        add_filter( 'rest_authentication_errors', function( $result ) {
                         if ( ! empty( $result ) ) {
                          return $result;
                         }
                         if ( ! isset( $_SERVER['PHP_AUTH_USER'] ) ) {
                          return new WP_Error( 'rest_not_logged_in', __( 'You are not currently logged in.' ), array( 'status' => 401 ) );
                         }
                         $username = $_SERVER['PHP_AUTH_USER'];
                         $password = $_SERVER['PHP_AUTH_PW'];
                         $user = wp_authenticate( $username, $password );
                         if ( is_wp_error( $user ) ) {
                          return new WP_Error( 'rest_not_logged_in', __( 'Invalid credentials.' ), array( 'status' => 401 ) );
                         }
                         return $result;
                        } );
                    

このコードでは、rest_authentication_errorsフィルタを使用して、認証エラーが発生した場合にはエラーメッセージを返すようにしています。

そして、PHP_AUTH_USER と PHP_AUTH_PW の値を取得し、wp_authenticate() 関数を使用してユーザー認証を行います。

認証が成功した場合は、何も返さずに処理を続行し、失敗した場合には、WP_Error オブジェクトを返すようにします。

ただし、Basic認証は暗号化されていないため、安全性に問題があります。

したがって、パスワードをBase64でエンコードする前にSSL通信を使用して暗号化することが推奨されます。

また、Basic認証を使用する場合には、常にHTTPSプロトコルを使用することが重要です。

SSL通信とは

SSL通信とは、セキュリティを確保した通信方式の一つで、WebブラウザとWebサーバーの間での通信を暗号化することで、外部からの不正なアクセスやデータの盗聴・改竄を防止する仕組みです。

Lesson 6 Chapter 5
エンドポイント

エンドポイントとは、Web APIにおける特定のURI(Uniform Resource Identifier)に対するHTTPメソッド(GET、POST、PUT、DELETEなど)のことです。

URI(Uniform Resource Identifier)とは

URIは、Uniform Resource Identifierの略で、インターネット上で特定のリソース(情報)を識別するための識別子です。
URIは、Web上で一意の場所を特定するためのアドレスを表すことができます。

APIから情報や機能を取得したり、リソースを作成、更新、削除するために使用されます。

Webサービスで公開される重要な要素であり、APIのアーキテクチャと設計に影響を与えます。

アーキテクチャとは

アーキテクチャ(Architecture)とは、システムやソフトウェアの設計や構造、機能、要件、品質、パフォーマンス、信頼性、セキュリティなどを定義するプロセスです。

WordPress REST APIのエンドポイントは、/wp-json/wp/v2/以下のURIパスです。

たとえば、投稿を取得するには、/wp-json/wp/v2/postsエンドポイントにHTTP GETリクエストを送信します。

同様に、新しい投稿を作成するには、/wp-json/wp/v2/postsエンドポイントにHTTP POSTリクエストを送信します。

APIには、複数のエンドポイントがあり、各エンドポイントは、特定のリソース(例えば、記事、コメント、ページ、ユーザーなど)に関連しています。

独自にエンドポイントを追加する

WordPressに独自のREST APIエンドポイントを追加するには、以下の手順に従います。

  1. functions.phpファイルにエンドポイントを追加するコードを記述します。
  2. 例えば、以下のようなコードを追加することができます。

    functions.php
                          add_action( 'rest_api_init', function () {
                           register_rest_route( 'myplugin/v1', '/foo', array(
                            'methods' => 'GET',
                            'callback' => 'myplugin_foo',
                           ) );
                          } );
                          
                          function myplugin_foo( $data ) {
                           return 'Hello World';
                          }
                          

    この例では、register_rest_route()関数を使用して、/wp-json/myplugin/v1/fooエンドポイントを登録しています。

    このエンドポイントは、HTTP GETメソッドでアクセス可能であり、myplugin_foo()関数がコールバックとして指定されています。

    コールバックとは

    コールバックとは、ある関数が実行される際に、その関数に引数として渡される別の関数のことを指します。
    非同期処理やイベント駆動型の処理などでよく使用されます。

  3. register_rest_route()関数の第一引数で指定する名前空間とエンドポイント名は、同じでなければなりません。
  4. また、名前空間はプラグイン名やテーマ名を含めることができます。

    例えば、上記の例では、mypluginという名前空間を指定しています。

  5. callbackパラメータには、指定されたエンドポイントにアクセスしたときに実行されるコールバック関数を指定します。
  6. この関数には、データを処理して、JSON形式でクライアントに返す処理を記述することができます。

  7. エンドポイントにアクセスするには、/wp-json/myplugin/v1/fooのようなURLにアクセスします。
  8. fooの部分は、コールバック関数の名前と一致している必要があります。

  9. エンドポイントにアクセスする前に、wp_enqueue_script()関数を使用して、必要なスクリプトファイルを読み込むことが必要な場合があります。
  10. また、認証を必要とするエンドポイントを作成する場合は、適切な認証フックを設定する必要があります。

以上の手順に従って、WordPressに独自のREST APIエンドポイントを追加することができます。

認証フックとは

認証フックは、WordPressの認証システムを拡張し、ユーザーのログインやセッション管理、特定の権限を持つユーザーのアクセス制御などを制御するためのフックです。

Lesson 6 Chapter 6
リクエスト/レスポンスの構成

Webアプリケーションでは、クライアントからサーバーに対してリクエストが送信され、サーバーはそのリクエストに応じてレスポンスを返します。

このリクエストとレスポンスの構成は、HTTPプロトコルで定義されています。

Webアプリケーションでは、これらの要素を適切に設計することで、スピーディでセキュアなアプリケーションを構築することができます。

リクエスト/レスポンスの構成には、HTTPヘッダーとボディの2つの要素が含まれます。

  • HTTPヘッダー
  • リクエストまたはレスポンスの情報を示すメタデータです。

    これには、ヘッダータイプ、コンテンツタイプ、エンコーディング、キャッシュ制御などの情報が含まれます。
    キーと値のペアで構成され、改行で区切られています。

  • HTTPボディ
  • 実際のデータが含まれる場所です。

    リクエストの場合、ボディには、ユーザーからの送信データが含まれます。

    例えば、Webフォームから送信されたデータや、API呼び出しのパラメータが含まれます。

    レスポンスの場合、ボディには、要求されたデータが含まれます。
    これは、HTML、XML、JSON、画像などのコンテンツ形式で提供されます。

HTTPリクエストとレスポンスは、HTTPメソッド(GET、POST、PUT、DELETEなど)によって識別されます。

リクエストには、HTTPメソッド、リクエストURL、HTTPバージョン、HTTPヘッダー、HTTPボディが含まれます。

レスポンスには、HTTPバージョン、ステータスコード、ステータステキスト、HTTPヘッダー、HTTPボディが含まれます。

例えば、WebブラウザがWebページを要求する場合、ブラウザはHTTP GETリクエストを送信します。

サーバーは、HTTPレスポンスを返し、ステータスコード、HTTPヘッダー、HTMLコンテンツを含むHTTPレスポンスを送信します。

HTTPバージョンとは

HTTPバージョンとは、Hypertext Transfer Protocol(HTTP)のバージョンを指します。
HTTPバージョンには1.0、1.1、2.0、3.0があり、それぞれに異なる仕様があります。

HTTPヘッダーとは

HTTPヘッダーは、HTTPリクエストやレスポンスに含まれる追加の情報で、リクエストやレスポンスのメタデータを定義します。
ヘッダーには、ブラウザがWebサーバーに要求するために必要な情報、サーバーがブラウザに返す必要がある情報、両方に関係する情報が含まれます。

HTTPボディとは

HTTPボディとは、HTTPリクエストやHTTPレスポンスの一部であり、データ本体を表す部分です。
HTTPリクエストにおいては、リクエストの目的に応じてリクエストボディに情報を含めることができます。

Lesson 6 Chapter 7
REST APIの使用方法

REST APIは、WordPressサイトのコンテンツを外部から操作できるようにする強力なツールでWordPressサイトの投稿、ページ、ユーザー情報などを簡単に取得、更新、削除することができました。

開発者にとって非常に使いやすく、柔軟性が高く、多くの言語とプラットフォームに対応していますので積極的に使っていきたいです。

ここでは、REST APIの基本的な使い方について紹介します。

WP-CLIを使ってREST APIにアクセスする

WP-CLIを使ってREST APIにアクセスするには、wp-cli/restfulコマンドを使用します。

このコマンドには、REST APIのエンドポイントに対するHTTPリクエストを送信するためのいくつかのオプションがあります。

例えば、以下のコマンドを実行すると、WordPressのREST APIを使用して投稿を取得することができます。

bash
wp rest post get --path=/wp-json/wp/v2/posts/1

このコマンドでは、wp rest post getでREST APIのエンドポイントを指定し、--pathオプションでリクエストするURLを指定しています。

上記の例では、IDが1の投稿を取得するために使用されています。

他にも、--headerオプションを使用して、リクエストにカスタムヘッダーを追加することもできます。

例えば、以下のコマンドでは、Authorizationヘッダーを追加してREST APIに認証情報を提供しています。

bash
wp rest post get --path=/wp-json/wp/v2/posts/1 --headers='{"Authorization": "Bearer YOUR_ACCESS_TOKEN"}'

また、--debugオプションを使用すると、リクエストとレスポンスの詳細を確認することができます。

bash
wp rest post get --path=/wp-json/wp/v2/posts/1 --debug

これらのオプションを使用して、WP-CLIを介してWordPressのREST APIにアクセスできます。

GETメソッドによる投稿データの取得

WordPress REST APIでは、GETメソッドを使用して投稿データを取得することができます。

以下は、REST APIを使用して投稿データを取得するために必要な手順です。

  1. エンドポイントの指定
  2. APIから取得したい情報に応じて、適切なエンドポイントを指定します。

    たとえば、投稿の場合は、/wp/v2/postsエンドポイントを使用します。

  3. パラメータの指定
  4. APIから取得したいデータをより詳細に指定する場合は、パラメータを指定できます。
    投稿の場合、特定の投稿の場合は/wp/v2/posts/123のようにIDを指定します。

    また、一覧の場合は、ページネーションを使用して、/wp/v2/posts?page=2&per_page=10のようにページ番号と1ページあたりの投稿数を指定できます。

  5. APIキーの取得(必要な場合)
  6. APIキーを使用して認証する必要がある場合は、APIキーを取得しておく必要があります。

  7. curlコマンドの実行
  8. curlコマンドを使用して、リクエストを送信してレスポンスを取得します。

    たとえば、投稿データをJSON形式で取得する場合、以下のようなコマンドを使用します。

    bash
    curl -H 'Content-Type:application/json' -H 'Authorization: Bearer API_KEY' 'https://example.com/wp-json/wp/v2/posts'

    この例では、APIキーが必要な場合AuthorizationヘッダーでAPIキーを指定します。

    また、Content-Typeヘッダーで取得したいデータの形式を指定します。

    レスポンスはJSON形式で返されます。

以上が、WordPress REST APIを使用して投稿データを取得する方法です。

必要に応じて、エンドポイントとパラメータを適切に指定し、APIキーを使用して認証する必要があります。

POSTメソッドによる投稿データの追加

WordPress REST APIのPOSTメソッドを使用すると、新しい投稿データをWordPressサイトに追加することができます。

以下は、REST APIのPOSTメソッドによる投稿データの追加の手順です。

  1. 認証情報の取得
  2. まず、REST APIを使用するためには、認証情報が必要です。

    これには、Cookie認証、Basic認証、OAuth認証などがあります。

    認証情報を取得するためには、各認証方式に応じた手順に従います。

  3. ヘッダーの設定
  4. REST APIを使用するためには、ヘッダーに情報を設定する必要があります。

    例えば、認証トークンを含める必要がある場合があります。

    ヘッダーの設定方法は、使用するツールやライブラリによって異なります。

  5. 投稿データの作成
  6. WordPressサイトに追加する投稿データを作成します。

    投稿データは、JSON形式で作成します。

    必要なフィールドに対応する値を含め、POSTメソッドの本文にJSON形式のデータを含めます。

    例えば、以下のようなJSON形式のデータを使用して、新しい投稿データを作成することができます。

    json
                          {
                          "title": "新しい投稿のタイトル",
                          "content": "新しい投稿の本文",
                          "status": "publish"
                          }
                          

    上記の例では、投稿のタイトル、本文、公開状態を指定しています。

    他にも、投稿タイプやカスタムタクソノミーなど、WordPressに設定された任意のフィールドを含めることができます。

  7. POSTメソッドの実行
  8. 最後に、作成した投稿データをWordPressサイトに追加するために、POSTメソッドを実行します。

    WordPress REST APIでは、POSTメソッドを使用して新しい投稿データを追加することができますが、 POSTメソッドを使用する際には追加先のエンドポイントURLを指定する必要があります。

    以下のようにしてPOSTメソッドを実行します。

    php
                          POST /wp-json/wp/v2/posts
                          

    この例では、WordPressの/wp-json/wp/v2/posts エンドポイントにPOSTメソッドを送信し、新しい投稿データを追加しています。

以上が、REST APIのPOSTメソッドを使用してWordPressサイトに新しい投稿データを追加する手順です。

PUTメソッドによる投稿データの更新

PUTメソッドはREST APIで投稿データを更新するために使われ、 PUTリクエストを送信することで投稿データを更新することができます。

PUTメソッドによる投稿データの更新の手順は以下の通りです。

  1. 更新対象の投稿IDを取得する
  2. 更新対象の投稿を特定するために、「投稿ID」が必要になります。

    取得するには、GETメソッドを使用して更新対象の投稿を取得することができます。

    例えば、以下のURLで更新対象の投稿を取得できます。

    json
                            {
                            "title": "新しいタイトル",
                            "content": "新しい本文",
                            "status": "publish"
                            }
                          

    上記の例では、タイトル、本文、投稿ステータスを更新しています。

  3. 更新リクエストを送信する
  4. 更新する投稿IDと、更新内容を含むJSONを、PUTメソッドで送信します。

    例えば、以下のURLで投稿データを更新できます。

    URL
                          PUT /wp-json/wp/v2/posts/{post_id}
                          

    ヘッダーには、Authorizationトークンを含める必要があります。

    これにより、ユーザーが更新を行う権限があることを確認できます。

  5. 更新された投稿データを取得する
  6. 更新リクエストが成功した場合、更新後の投稿データを取得できます。

    取得するには、GETメソッドを使用して、更新された投稿データを取得します。

    例えば、以下のURLで更新後の投稿データを取得できます。

    URL
                          GET /wp-json/wp/v2/posts/{post_id}
                          

これらの手順を実行することで、REST APIを使用して投稿データを更新することができます。

Authorizationトークンとは

Authorizationトークンとは、APIやウェブサービスなどで認証を行うためのトークンのことです。
Authorizationトークンを用いることで、APIやウェブサービスの利用者が認証されているかどうかを判別することができます。

Lesson 6 Chapter 8
まとめ

WordPressは、オープンソースのCMSとして幅広く利用されており、多くのウェブサイトやブログに使用されています。

この講座ではWordPressの応用編として、

  • 開発環境の整備方法
  • WordPressのアーキテクチャの理解
  • プラグインやテーマのカスタマイズ
  • カスタム投稿タイプやカスタムタクソノミーの作成
  • WordPress REST APIの活用方法

について学びました。

これらの知識を習得することで、WordPressでウェブサイトを構築する際に必要な基礎的なスキルを身につけることができます。

また、これらの知識を応用することで、より高度なウェブサイトの構築や開発を行うことも可能になります。

WordPressは、その拡張性やカスタマイズ性の高さから、多くの人々に愛されています。

この講座が、WordPressの基本的な理解を深める手助けとなり、より多くの人々がWordPressの魅力を体験できることを願っています。