web-dev-qa-db-ja.com

最近の投稿を表示するのになぜJSON APIを使用するのですか?

なぜWP_queryではないのですか?

http://www.htmlgoodies.com/beyond/javascript/provide-a-json-feed-from-your-wordpress-site-using-the-json-api-plugin.html 、ここで見れば一番下のコメントで、男はJSON APIプラグインを使用して最近の投稿を表示したいです。

しかし、WP_queryを使用してそれを実行できるときに、なぜ面倒なのでしょうか。

2
john-thomas

JSON APIは、RESTfulエンドポイント(add_rewrite_rules)にバンドルされているWP_Queryの単なるラッパーです。

それ以外の場合は自分でコーディングしなければならないフレームワークを提供することによって、生産をスピードアップする方法です。実際、カスタムエンドポイントを作成すると、独自のQP_Queryループを使用することになります。

その選択は本当にあなたのプロジェクトの要求にかかってくるでしょう。

サイトに投稿を表示している場合は、カスタムWP_QuerysでWordPressのループを使用します。

あなたが他のウェブサイトやアプリケーションのためのRESTfulインターフェースとしてそれを使うことを計画しているなら、JSON APIがあるのであなたが投稿した記事はスポットされます

  • 他のサービスに接続するための安定したエンドポイント(バージョン付き)を提供します。
  • 脆弱性を導入する可能性があるため、独自のAPIを構築するのではなく、安全性と実績があります。
  • プログラムでエンドポイントを見つける方法を提供します(info)
  • ヘッドレスです。つまり、テーマのレンダリングを省略して高速化します。

そうは言っても、それは必ずしも right 解決策ではありません。最善の解決策は常にあなたがうまく実行できるものです。

詳しくはWP REST AP​​Iをご覧ください。

https://wordpress.org/plugins/json-rest-api/ /

それが役に立てば幸い!

2
Pedro Coitinho

本当の理由はまったくありません。その理由は次のとおりです。

  1. より多くのコードとして、またはさらに悪いことには、さらに多くのJSファイルを読み込む必要があります。

  2. あなたは1つではなく2つの要求をサーバーにする必要があります。 JSONリクエストを処理するパフォーマンスは、ページを処理するパフォーマンスと同じ順序であるため、表示されるすべてのページには、JSONなしでは約2倍のリソースが必要になります。

  3. APIが提供するものと完全に一致するような簡単なことをしない限り、コーディングを大幅に節約することはできません。たとえば、ソートにメタ値が必要な場合でも、データをリクエストに追加する方法を見つける必要があります。これは、wp_queryコードを書くよりもそれほど簡単ではありません。

  4. ブラウザ上でJSコードをデバッグするのは、サーバ上のPHPコードよりはるかに困難です。

  5. JSは壊れやすく、ロードに失敗したり、ロードが遅くなったりします。失敗は積極的にJSをブロックしている人(私は個人的に無視していることですが)によって引き起こされることもありますが、悪いネットワークによって引き起こされることもあります。

便利なのは、他のサイトに "最近の投稿"のようなものを提供したいが、iframeとwp_query(またはoEmbed)ではできなかったことは何もないことです。

2
Mark Kaplun

JSONフォーマットは非常にコンパクトでスマートであり、それはJavaScriptのネイティブオブジェクトフォーマットです。

JavaScriptオブジェクトをチェックすると、それらはオブジェクトを宣言するためにこのフォーマットを使用しています。

XMLフォーマットはパースするのが少し難しく、そしてこれがそれらをカーペットの下に置く理由かもしれません。

CSSをチェックしても、これはJSONに非常に近いです。唯一の違いは、;の代わりに,セパレータを使用している点です。

CSV形式はかっこいいですがJSONほどクールではありません。

0
prosti