WordPress REST APIカスタムルーティング:API機能を拡張するための強力なツール
この記事では、WordPress REST APIのカスタムルーティング機能を調査し、カスタマイズされたAPIソリューションの作成方法を示しています。 カスタムルーティングは、デフォルトのルーティングのみを使用するよりも、詳細な制御とスケーラビリティを提供します。
コアポイント:
register_rest_route()
アクションを組み合わせてカスタムルートを追加します。 名前空間、ルーティングパス、およびメソッド、コールバック関数、および許可情報を含むエンドポイントの配列を指定する必要があります。 rest_api_init
WordPress Rest APIに関する議論のほとんどは、デフォルトルートの照会に焦点を当てています。これにより、Twitter APIなどの単一のAPIのように見えます。 ただし、WordPress Rest APIは単一のAPIではなく、APIを構築するためのツールとしても使用できる数百万の高度にカスタマイズ可能なAPIのコレクションです。 デフォルトルーティングは、多くのサイト要件の妥協ソリューションであり、すべてのタスクをデフォルトのルーティングだけで完了することはできません。
WordPressが単なるグローバルWP_QUERYオブジェクトではないように、REST APIは単なるデフォルトAPIではありません。 デフォルトのルーティングを使用することは、従来のWordPressプロジェクトで独自のWP_QUERYオブジェクトを作成したり、デフォルトのクエリを
にオーバーライドしたりしないようなものです。可能ですが、すべての作業がデフォルトでWordPress URLルーティングのみで実行できるわけではありません。
同じことがpre_get_posts
rest apiにも当てはまります。 REST APIの共同リード開発者であるRyan McCueは、プロジェクトの2番目のバージョンがデフォルトルーティングとRestful APIを作成するインフラストラクチャの2つの部分に分割されていると述べました。デフォルトルーティングは、カスタムルートを作成するための良い例を提供します。
function register_rest_route()
REST API Second Editionは、REST APIへのルートを追加してエンドポイントの配列を渡すことができる
この記事では、コールバック関数、フィールドパラメーター、およびアクセス許可チェックの3つの側面に焦点を当て、デジタルの簡単な製品情報によって表示される2つのエンドポイントを使用してカスタムルートを作成する方法を示します。ダウンロード(EDD)駆動型のeコマースWebサイト。
ルートを設定します:名前空間とルートパス
カスタムルートを定義するときは、アクションでrest_api_init
関数を使用します。 この関数は、4つのパラメーターを受け入れます
register_rest_route()
すべてのルートは、「WP-JSON」の後の次のURLセグメントとして空間化されている必要があります。 デフォルトのルートの名前空間はです。 名前空間は競合のルーティングを避けます。
wp
[d])」(ポストIDなどの最後のURLセグメントで数値を使用できます)。
定義されたルートとの競合を処理するためのブール値。 デフォルトはで、ルートをマージしようとします。 override
false
true
エンドポイントは、1つ以上のHTTP輸送方法(Get/Post/Put/Delete)を定義する必要があります。 メソッドは、クラスの定数を使用して定義できます。たとえば、(GETリクエストのみが許可されている)または
(すべてのメソッドが許可されています)。
WP_REST_Server
フィールドを定義する場合、フィールドのデフォルト値を指定し、コールバック関数などをクリーンアップできます。 これにより、コールバック関数が受信したデータを信頼することができます。 WP_REST_Server::READABLE
WP_REST_Server::ALLMETHODS
各エンドポイントのコールバック関数(キーで指定)は、リクエストがディスパッチされる方法です(許可コールバック関数が通過する場合)。 許可コールバック関数(キーで指定)は、現在のユーザーがエンドポイントにアクセスする許可を持っているかどうかを確認します。
callback
リクエストの処理と応答permission_callback
callback関数はオブジェクトを受信し、メソッドを使用して、クリーニングおよび検証されたパラメーターを取得できます。
関数を使用してオブジェクトを作成して、応答が正しいJSON形式であることを確認し、必要なヘッダーを含めることができます。 WP_REST_Request
get_params()
rest_ensure_response()
概要:カスタムAPI、無制限の可能性WP_REST_Response
WordPress REST APIのデフォルトルーティングは非常に便利ですが、カスタムルーティングにより、より制御とスケーラビリティが提供されます。 カスタムルートを作成することは、デフォルトのルートがニーズを満たしていない場合に効果的なソリューションです。
以上がWordPress REST APIにカスタムルートを追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。