ホームページ > CMS チュートリアル > &#&プレス > WordPress REST APIにカスタムルートを追加します

WordPress REST APIにカスタムルートを追加します

Lisa Kudrow
リリース: 2025-02-09 10:44:09
オリジナル
925 人が閲覧しました

Adding Custom Routes to the WordPress REST API

WordPress REST APIカスタムルーティング:API機能を拡張するための強力なツール

この記事では、WordPress REST APIのカスタムルーティング機能を調査し、カスタマイズされたAPIソリューションの作成方法を示しています。 カスタムルーティングは、デフォルトのルーティングのみを使用するよりも、詳細な制御とスケーラビリティを提供します。

コアポイント:

    WordPress Rest APIは高度にカスタマイズ可能であるため、開発者は特定のニーズを満たすためにカスタムルートとエンドポイントを追加できます。
  • 関数を使用して、register_rest_route()アクションを組み合わせてカスタムルートを追加します。 名前空間、ルーティングパス、およびメソッド、コールバック関数、および許可情報を含むエンドポイントの配列を指定する必要があります。 rest_api_init
  • エンドポイントは、特定のHTTPメソッド(取得、投稿、配置、削除)を定義し、受け入れられているデータフィールド、デフォルト値、クリーンアップ、および検証ルールを指定できます。
  • エンドポイントの許可コールバック関数は、認証要求のみがルートにアクセスできることを保証し、ユーザー許可をチェックするか、認証方法をカスタマイズすることによりセキュリティを強化します。
  • カスタムルーティングとエンドポイントは、WordPress REST APIを拡張し、データ入力と出力を正確に制御し、開発者がWordPressプロジェクトを強化するための強力なツールになり、より構造化された安全な方法を提供します。
デフォルトルートを超えて:無限の可能性を構築します

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()

  1. 名前空間:

    すべてのルートは、「WP-JSON」の後の次のURLセグメントとして空間化されている必要があります。 デフォルトのルートの名前空間はです。 名前空間は競合のルーティングを避けます。 wp

  2. ルートパス:名前空間の後のurl。 たとえば、「/製品」または「/製品/(?p

    [d])」(ポストIDなどの最後のURLセグメントで数値を使用できます)。

  3. エンドポイントアレイ:
  4. メソッド、コールバック関数、パラメーターなどを含むルートのエンドポイントを定義します。

  5. パラメーター(オプション):

    定義されたルートとの競合を処理するためのブール値。 デフォルトはで、ルートをマージしようとします。 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート