wp_remote_retrieve_body()


関数wp_remote_retrieve_body()は、WordPressでHTTPリクエストのレスポンスからボディ部分を抽出するために使用されます。この関数は、通常、wp_remote_get()やwp_remote_post()と組み合わせて使用されます。

シンタックス

wp_remote_retrieve_body( array $response );
  • $response (array) — HTTPリクエストのレスポンス配列。

例 1: 基本的な使用方法

HTTPリクエストのレスポンスボディを取得します。

<?php
$response = wp_remote_get( 'https://example.com/api' );
$body = wp_remote_retrieve_body( $response );
echo $body;
?>

例 2: JSONレスポンスを配列に変換

取得したボディをデコードして配列として使用します。

<?php
$response = wp_remote_get( 'https://example.com/api' );
$body = wp_remote_retrieve_body( $response );
$data = json_decode( $body, true );
print_r( $data );
?>

例 3: エラー処理の追加

HTTPリクエストの成功時のみボディを取得します。

<?php
$response = wp_remote_get( 'https://example.com/api' );
if ( is_wp_error( $response ) ) {
    echo 'エラーが発生しました。';
} else {
    $body = wp_remote_retrieve_body( $response );
    echo $body;
}
?>

例 4: REST APIデータの取得

WordPress REST APIから投稿データを取得します。

<?php
$response = wp_remote_get( get_rest_url( null, '/wp/v2/posts' ) );
$body = wp_remote_retrieve_body( $response );
echo $body;
?>

例 5: HTML解析の前処理

取得したHTMLデータを処理するための準備を行います。

<?php
$response = wp_remote_get( 'https://example.com/page' );
$body = wp_remote_retrieve_body( $response );
$dom = new DOMDocument();
@$dom->loadHTML( $body );
echo $dom->saveHTML();
?>

注意事項

  • wp_remote_retrieve_body()は、常にHTTPレスポンスが有効であることを確認した後に使用してください。
  • 外部APIやサービスに依存する場合は、エラーハンドリングを忘れないでください。

関連機能: