web-dev-qa-db-ja.com

Echo json_encode()の上にwp_send_json()を使用するのはなぜですか?

JSONレスポンスをAJAXリクエストに返信するとき、なぜwp_send_json()ではなくWordPress関数echo json_encode()を使用するのですか? WordPress関数wp_send_json()echo json_encode()よりも使用する利点は何ですか?

参照: wp_send_json

6
henrywright

wp_send_json()は、AJAX呼び出しでコンテンツを返す際のすべての部分を処理します。最初に、返されたコンテンツのコンテンツタイプを適切な文字セットでapplication/jsonに設定します。次に、JSONの結果を送信した後に自動的にwp_die()を呼び出します。これはWordPressのAJAX呼び出しに必要です。

成功したリクエストにはwp_send_json_success()を使用し、誤ったリクエストにはwp_send_json_error()を使用することを検討してください。これにより、AJAXリクエストを処理するためのWordPress標準に準拠することができます。これらの関数は、配列内にsuccess(ブール値)およびdata(任意の型)キーを設定し、その配列全体をエンコードするので、構造化された方法で要求が成功したかどうかを確認できます。

12
engelen