WordPress REST API の紹介

公開: 2022-10-19

2016 年 12 月、WordPress 4.7 がリリースされ、長い間議論されてきたマイルストーンが実現しました。WordPress REST API が正式に WordPress コアの一部として組み込まれました。

REST API は公式にコアにマージされる前にプラグインとして存在していましたが、その後の組み込みはかなりの議論を巻き起こし、その組み込みとさらなるテストの必要性について議論がなされました。

最終的に、REST API は Core に統合され、現在は Block Editor だけでなく、Web 全体の WordPress サイトとの多くのサードパーティ統合およびインターフェースを強化しています。

しかし、多くの WordPress ユーザーにとって、これほどまでに WordPress に緊密に統合されたものは言うまでもなく、あらゆる種類の REST API について聞いたのはこれが初めてでした。

そこで、この記事では、REST API とは何か、WordPress REST API がどのようにユニークであるか、それがどのように機能するかのいくつかの例と、WordPress に含まれるようになった現在有効になっているテクノロジーのいくつかの種類について見ていきます。芯。

REST API とは何ですか?

REST API という用語は、実際には 2 つの頭字語を 1 つにまとめたものであり、WordPress REST API がどのように機能し、何をするのかを理解する上で、両方とも重要です。

レストとは?

最初の部分である REST は、REpresentational State Transfer の略です。 できるだけ簡単に言えば、これは Web 上の 2 つの別々のリソースが相互に通信する方法を定義する仕様です。 これらの 2 つのインターフェイスは、2 つの異なる Web サイト、Web サーバー、モバイル アプリケーションなどである可能性があります。

この仕様に従うサービスは、多くの場合、RESTful サービスと呼ばれ、情報を要求するクライアントがサーバーの状態について何も知る必要がなく、クライアントとサーバーが他のサービスよりもモジュール化および分離できる方法を保証するように機能します。インターネット上でデータを転送する方法。

基本的に、開発者が RESTful サービスと対話していることを知っている場合、要求がどのようにフォーマットされ、どのような種類のデータが返されるかについて特定の仮定を立てることができます。これは、相互接続されたテクノロジを開発するときに非常に役立ちます。

RESTful サービスを構成するものと、これらのタイプのリクエストがどのように行われるかについて詳しく知りたい場合は、Codecademy の What is REST? という記事を確認することを強くお勧めします。

API とは何ですか?

API は Application Programming Interface の略で、その名前が示すように、特定のアプリケーションとやり取りするために Web 上の他のクライアントやサービスにインターフェイスを提供します。 データを送信できるエンドポイント (通常は URL)、これらの URL がデータを返すかサーバー上にリソースを作成するか、およびこれらのエンドポイントにアクセスするために特定の種類の認証が必要かどうかを指定します。

今日の Web 上の多くの一般的なサービスでは、API は、スクリプトまたはコードの一部がユーザーの存在下で同じアクションを実行できるようにすることで、ユーザーが手動で行うことができる自動化された方法を提供します。 たとえば、Reddit を使用していて、閲覧しているスレッドの多くに同じ種類のコメントを書いていることに気付いた場合、Reddit でそれらの種類のコメントを検索し、Reddit の API を介して標準の返信を自動的に投稿するスクリプトを作成できます。

API を介してインフラストラクチャを公開することにより、ユーザーはこれらの種類のタスクを自動化する脆弱な Web スクレイピング メソッドに依存する必要がなくなり、Reddit は、API を介してリソースにアクセスしているユーザー、アクセス頻度を追跡し、制御することができます。利用規約外の使用。

なぜ WordPress は REST API を必要としたのですか?

REST API が Core の一部になる前に、WordPress に API のようなリクエストを行ったことがある場合は、admin-ajax の概念に精通しているかもしれません。 これは、WordPress でこのようなリクエストを行う元の方法であり、すべてのリクエストが admin-ajax.php ファイルを介してルーティングされ、アクティブなプラグインまたはテーマの開発者が登録した特定のアクションをチェックし、それらの登録された関数を使用して要求を満たす。

ご想像のとおり、これは、API のようなリクエストを使用するすべての開発者が、プラグインまたはテーマの一部としてこの機能を有効にしたことを意味し、この機能とやり取りしたい人は、各プラグインまたはテーマがどのように機能するかを理解する必要がありました。構築されました。 WordPress REST API は、これらのリクエストが行われる方法を標準化し、WordPress コア自体と対話するために使用できるはるかに広範なエンドポイントのセットを提供するために導入されました。

WordPress REST API へのリクエストの例

WordPress REST API ハンドブックには、WordPress REST API ですぐにサポートされるエンドポイントの完全なリストが記載されています。 完全なリストがあるのは素晴らしいことですが、少し圧倒される可能性があります. API インタラクションの最も基本的な機能と考えられるものを見てみましょう: API の基本的なリソースをフェッチします。 WordPressの場合、そのリソースが掲載されています。

WordPress REST API のすべてのエンドポイントには、ルート ドメインと REST API ハンドブックでBase Routeと呼ばれるものとの間の URL パスwp-jsonがプレフィックスとして付けられます。 つまり、エンドポイントにアクセスしてサイトの投稿を一覧表示し、サイトの URL がexample.comである場合、URL https://example.com/wp-json/wp/v2/postsにリクエストを送信する必要があります。 https://example.com/wp-json/wp/v2/posts .

その URL をお気に入りの Web ブラウザーにロードするか、Postman などの API ブラウザーを使用して GET 要求を行うと、API から投稿のリストが返されますが、使用している形式ではない場合があります。に。 表示されているのが 1 つの長いテキスト文字列だけの場合は、JSON と呼ばれるデータ形式を参照しています。 ブラウザから API エンドポイントにアクセスしていて、この情報をより読みやすい形式で表示したい場合は、JSON Viewer 拡張機能をインストールすることをお勧めします。 これにより、JSON であるブラウザーの出力が検出され、読みやすいようにフォーマットされます。 これをインストールすると、WordPress REST API からの投稿データ出力が表示され、最初の REST API リクエストが正常に作成されました。

JSON ビューアー拡張機能がインストールされたブラウザーで表示した場合に、WordPress REST API からのデータがどのように表示されるかの例

WordPress REST API は他に何ができますか?

WordPress サイトで最新の投稿のリストを取得する以外に、エンドポイント リファレンスを見ると、WordPress REST API を操作する方法が他にもたくさんあることがわかります。 WordPress ユーザーとして認証されている場合は、API を介して投稿を公開したり、サイトで利用可能なテーマのリストを取得したり、設定を表示および編集したり、wp-admin を介して手動で操作できる他の多くの機能を利用したりできます。 .

実際の WordPress REST API の例

REST API を介して WordPress と対話する機能を公開することで、WordPress をコンテンツ管理のバックエンドとして使用できるサイトの幅広い可能性が開かれました。

TechCrunch : WordPress REST API が発表された直後、TechCrunch は、ヘッドレス アーキテクチャを使用してサイトを再構築したと発表しました。スタイルReactアプリ」をフロントエンドに。

Block Editor (Gutenberg) : おそらく、ほとんどの人が恩恵を受けている REST API の使用法は、WordPress の Block Editor です。 現在、WordPress のメインストリーム エディターであるブロック エディター機能の多くは、WordPress REST API エンドポイントとやり取りできるという事実によって有効になっています。

あらゆる種類のコミュニティ プロジェクト: REST API が最初にコアへのマージが検討されたとき、REST API をどのように使用しているかについて人々にもっと話すように求める公の電話がかけられました。 答えは非常に多岐にわたり、WordPress のような大規模なコミュニティから期待できるものでしたが、以前よりもインタラクティブなインターフェイスを備えたプラグインから、WordPress コンテンツを消費できるクライアント向けのモバイル アプリを構築している人々まで、すべてが含まれていました。

まとめ

API の使用経験がなくても、WordPress REST API に依存して機能するものをキャリアのある時点で使用したことがあるでしょう。 インターフェースがより動的になり続け、ウェブサイトにはページの読み込みを必要としないアクションが増え始めています。

WordPress REST API が何であるかがわかったので、それを使って構築できるものについて考えているかもしれません! REST API は、より優れた WordPress テーマとプラグインを構築するためのツールボックスの強力なツールになることは間違いありません。

もう少し説明が必要な場合や、可能なことの例が必要な場合は、ドキュメントを見て、すぐに飛び込んでください!