web-dev-qa-db-ja.com

WP-AJAX vs WP REST API:外部からWebサイトへのリクエストに使用するもの

私はWPのウェブサイトを持っています。また、私は1つのWebサービスにアカウントを持っています。このWebサービスから自分のWebサイトの特定のアドレスにリクエストを送信する必要があります。これは私が自分のプラグインで処理したいウェブフックです。

外部からのWebサイトへのリクエストに使用するもの、wp-ajaxまたはWP REST API。このリクエストの処理速度には興味がありません。私は、セキュリティと一般に認められている慣習の観点から正しい方法に興味があります。

これらのそれぞれには、それぞれ独自の長所と短所があります。あなたのニーズに基づいて、他のものを選ぶ必要があるかもしれません。それらは両方ともしっかりと固定されている、そうでなければそれらはコアに存在しないでしょう。

REST-API、現代の有名なAPI

最近ではAdmin-AJAXよりもREST AP​​Iがコアに追加されました。モバイルアプリやAPI開発に使用するのに最適です。

利点

  • 作成、開発、デバッグが簡単
  • ログインユーザーと非ログインユーザーに別々の機能を必要としない
  • コアはすでに開発プロセスをスピードアップするいくつかの組み込みハンドラを持っています
  • 応答は、WordPress上で動作しないアプリケーションやプラットフォームで簡単に使用できます。

デメリット

  • ユーザーフレンドリーな応答は得られません。出力はJSONであり、SEO目的などの場合には使用できません。しかし、これが有利だと思う人もいるでしょう。
  • JavaScriptとJSONを扱うには、単純なテキスト出力を処理するよりも多くの知識が必要です。

Admin-AJAX、WordPressの古代のAJAXハンドラ

Admin AJAXは私が覚えている限りコアの中に存在していました、そしてそれはコア自身が管理領域のリクエストを扱う方法です。

利点

  • 検索エンジンでも、どこでも使用できるコンテンツを直接出力します。 Customboxなどの一部のスクリプトは、この種の応答のみをサポートしています。
  • ログインユーザーとログアウトユーザーには別々の機能があります。 REST-APIの条件付きでこれを行うことができますが、これが役に立つと考える人もいるでしょう。
  • あなたが必要とするのはdivに入れるだけか、どこでもあなたが必要とするところであるので、応答を扱うことはより簡単です。

デメリット

  • 出力はプレーンHTMLなので(デフォルトで)、APIやアプリケーション開発では使用すべきではありません(または使用できない可能性があります)。

結論

どちらを使うべきかを言うのは非常に難しいです。どちらも便利なハンドラであり、どれかが安全でなければ、確かに何年もコアに存在していなかったでしょう。したがって、セキュリティ上の問題はありませんが、それでもセキュリティを心配する場合は、SSL証明書が必要です。

どちらを使用するかを決定するのは、パフォーマンス、要求の種類、および開発プラットフォームです。

6
Jack Johansson

Rest APIで認証を許可する方法があることは知っていますが、適切に機能させるためには追加の労力が必要です。

is_user_logged_in()などの関数を使用する意味は、Rest APIではすぐに機能しませんが、AJAXメソッドでは機能します。

だから私の答えは、あなたがウェブサイトからそれ自体にリクエストをするために必要なときです。 JSが何らかのデータを必要とする場合、AJAXメソッドを使用するのが通常最適です。必要に応じてWP関数および認証にフルアクセスできるからです。

認証を渡すことができるユーザーのログインとパスワードにアクセスできるサードパーティのソフトウェアからリクエストを行う必要がある場合

OR

ユーザーデータやWebサイトからのその他の認証済みデータは必要ありませんが、「Top Posts」などの単純なデータが必要なだけで、Rest APIを使用します。

1
ggedde