wp_remote_retrieve_body() の使い方|説明・引数・注意点

説明

wp_remote_retrieve_body() は、HTTPレスポンスの配列から、本文(ボディ)を取り出す関数です。

基本構文

wp_remote_retrieve_body( array|WP_Error $response ): string

引数

  • $response:HTTP関数の戻り値

戻り値

本文の文字列。

使い方(サンプル)

$body = wp_remote_retrieve_body( $res );
$data = json_decode( $body, true );

注意点

  • JSONの場合は json_decode() で配列にします。

実務での使いどころ

  • wp_remote_get() などの応答から、本文(HTML、JSON)を取り出すとき。

よくあるミスと対処

  • 通信に失敗したとき(WP_Error)も、空文字が返る。失敗と、本文が空のときを、区別できない。先に、is_wp_error() で確認する。
  • ステータスコードを、確認していない。404や500でも、本文が返る。
  • JSONを、json_decode() したあとの、エラー確認をしていない。

NG例

$data = json_decode( wp_remote_retrieve_body( $response ), true ); // 失敗した場合の確認がない

OK例

if ( ! is_wp_error( $response ) && 200 === (int) wp_remote_retrieve_response_code( $response ) ) {
	$data = json_decode( wp_remote_retrieve_body( $response ), true );
}

使い分け早見表

関数 取り出すもの
wp_remote_retrieve_body() 本文
wp_remote_retrieve_response_code() ステータスコード
wp_remote_retrieve_headers() ヘッダーの一覧

関連項目

wp_remote_get()、wp_remote_retrieve_response_code()

公式リファレンス:wp_remote_retrieve_body() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました