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

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 までご連絡ください。
WordPressは他のWebサイトビルダーとどのように比較されますか?WordPressは他のWebサイトビルダーとどのように比較されますか?Apr 28, 2025 am 12:04 AM

wordpressexexexexexcelsoverwebsitebuildersduetoits ffficability、scalability、andopen-sourcenature.1)それは、aversatilecmswitextensive sustomizationoptionsviathemesandplugins.2)その学習中心部のスチッピアベッタービューターフルフルフルフルフルフルフルカンセーズ。3)

2025年に開発者が使用できる5つのWordPressプラグイン2025年に開発者が使用できる5つのWordPressプラグインApr 27, 2025 am 08:25 AM

2025年のウェブサイト開発のための7つの必須ワードプレスプラグイン 2025年に一流のWordPress Webサイトを構築するには、速度、応答性、およびスケーラビリティが必要です。 これを効率的に達成することは、しばしば戦略的なプラグインの選択にかかっています。 この記事Highlig

WordPressは何のために使用しますか?WordPressは何のために使用しますか?Apr 27, 2025 am 12:14 AM

wordpresscanbeusedpurposesbeyondblogging.1)e-ocommerce:withwoocommerce、itcanbecomeafulloninestore.2)メンバーシップサイト:Pluginslikememberpressenable clusivecontentareas.3)ポートフォリオソイト:ThemeslikeasieasiestraololowStunnningStunnningStunnningStunnningStuntunnneDayOutssuntunnneaTuntunnnedrayOutuntuntuntunnnedraySuts

WordPressはポートフォリオWebサイトを作成するのに適していますか?WordPressはポートフォリオWebサイトを作成するのに適していますか?Apr 26, 2025 am 12:05 AM

はい、wordpressisexcellentforcreatingportfoliowebsite.1)itoffers numersportfolio cilems like'astra'astra'foreasycustomization.2)プラグインエレメントレメントレディングの装飾、思想的な態度環境を

Webサイトをゼロからコーディングする上でWordPressを使用することの利点は何ですか?Webサイトをゼロからコーディングする上でWordPressを使用することの利点は何ですか?Apr 25, 2025 am 12:16 AM

wordpressisadvasteousovercodingawebsitefromscratchdueto:1)easeofuseandfasterdevelopment、2)柔軟性と吸収性、3)strongCommunitySupport、4)組み込みインセンアンドマークティングツール、5)費用対効果、6)レシュリティアップデート

WordPressがコンテンツ管理システムになっている理由は何ですか?WordPressがコンテンツ管理システムになっている理由は何ですか?Apr 24, 2025 pm 05:25 PM

wordpressisacmsduetoitseaseaseofuse、customization、usermanagement、seo、andcommunitysupport.1)ofssextensiveationization throughthemesandplugins.3)ofsiscontensiveativeizationization withintentmanagement withintententmanagement with inting ustomization.3)revisustusersandpermissions.4)拡張型を提供します

WordPressにコメントボックスを追加する方法WordPressにコメントボックスを追加する方法Apr 20, 2025 pm 12:15 PM

WordPress Webサイトでコメントを有効にして、訪問者にディスカッションに参加し、フィードバックを共有するプラットフォームを提供します。これを行うには、次の手順に従ってください。コメントを有効にします。ダッシュボードで、設定に移動してgt;議論し、[コメントを許可]チェックボックスを選択します。コメントフォームの作成:エディターで、[ブロックの追加]をクリックし、コメントブロックを検索してコンテンツに追加します。カスタムコメントフォーム:タイトル、ラベル、プレースホルダー、ボタンテキストを設定して、コメントブロックをカスタマイズします。変更を保存します:[更新]をクリックしてコメントボックスを保存し、ページまたは記事に追加します。

WordPressからサブサイトをコピーする方法WordPressからサブサイトをコピーする方法Apr 20, 2025 pm 12:12 PM

WordPressサブサイトをコピーする方法は?手順:メインサイトにサブサイトを作成します。メインサイトのサブサイトのクローニング。クローンをターゲットの場所にインポートします。ドメイン名(オプション)を更新します。個別のプラグインとテーマ。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター