ワードプレスのwp_remote_request関数の使用方法・解説

概要

wp_remote_request関数は、WordPressにおけるHTTPリクエストを送信するための関数です。この関数は、APIとの通信や、外部のリソースからデータを取得する際などに広く使用されます。具体的には以下のような機能を実装する際によく使われます:

  1. 外部APIからデータを取得
  2. RESTfulサービスとの通信
  3. データを取得してプラグインに取り込む
  4. 非同期にサーバーから情報を取得
  5. サイト間で情報を送信
  6. 他のサービスからWebhookを受信
  7. 外部のデータソースとの連携
  8. 自動更新機能の実装

wp_remote_request関数は、特定のURLにHTTPリクエストを送信し、レスポンスを取得します。

構文

$response = wp_remote_request( $url, $args );

パラメータ

  • $url (string) – リクエスト先のURL
  • $args (array) – (オプション)リクエストの引数。方法(GET/POSTなど)、ヘッダー、ボディなどを指定することができます。

戻り値

返り値は、HTTPレスポンスを表す配列か、WP_Errorオブジェクトです。成功した場合、レスポンスにはステータスコードやヘッダー、ボディが含まれます。

関連する関数

使用可能なバージョン

この関数は、WordPress 2.8.0以降で使用可能です。

コアファイルのパス

wp-includes/http.php

サンプルコード

サンプルコード1: GETリクエストを送信

$response = wp_remote_request( 'https://api.example.com/data', array( 'method' => 'GET' ) );
if( is_wp_error( $response ) ) {
    echo 'Error: ' . $response->get_error_message();
} else {
    $body = wp_remote_retrieve_body( $response );
    echo $body;
}

説明: 外部APIからGETリクエストを送信し、エラーハンドリングを行い、レスポンスボディを出力します。

サンプルコード2: POSTリクエストを送信

$response = wp_remote_request( 'https://api.example.com/data', array(
    'method'    => 'POST',
    'body'      => json_encode( array( 'key' => 'value' ) ),
    'headers'   => array( 'Content-Type' => 'application/json' ),
) );
if( is_wp_error( $response ) ) {
    echo 'Error: ' . $response->get_error_message();
} else {
    $body = wp_remote_retrieve_body( $response );
    echo $body;
}

説明: 外部APIにPOSTリクエストを送信し、JSON形式でデータを送信します。

サンプルコード3: レスポンスのステータスコードを取得

$response = wp_remote_get( 'https://api.example.com/data' );
if( ! is_wp_error( $response ) ) {
    $response_code = wp_remote_retrieve_response_code( $response );
    echo 'HTTP Response Code: ' . $response_code;
}

説明: GETリクエストを送り、HTTPレスポンスコードを取得して表示します。

サンプルコード4: リクエストのタイムアウト設定

$response = wp_remote_request( 'https://api.example.com/data', array(
    'timeout' => 5, // タイムアウトを5秒に設定
) );

説明: リクエストのタイムアウトを5秒に指定して、外部APIにアクセスします。

サンプルコード5: カスタムヘッダーを付加してリクエスト

$response = wp_remote_request( 'https://api.example.com/data', array(
    'method'  => 'GET',
    'headers' => array(
        'Authorization' => 'Bearer YOUR_API_TOKEN',
    ),
) );

説明: GETリクエストにカスタムのAuthorizationヘッダーを追加して外部APIにアクセスします。

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

この関数は特定のバージョンで非推奨または削除されていません。

この関数について質問する


上の計算式の答えを入力してください