wp_remote_retrieve_header()


WordPressのwp_remote_retrieve_header()関数は、リモートリクエストのレスポンスヘッダーを取得するために使用されます。この関数は、HTTPリクエストの結果から特定のヘッダー値を抽出するのに役立ちます。

構文

wp_remote_retrieve_header( array|WP_Error $response, string $header );

引数の説明:

  • $response(array|WP_Error)wp_remote_get()wp_remote_post()などの関数から返されるレスポンス配列またはWP_Errorオブジェクト。
  • $header(string) — 取得したいヘッダーの名前(例: ‘content-type’, ‘server’など)。

例1: リモートリクエストのContent-Typeヘッダーを取得

この例では、リモートリクエストのContent-Typeヘッダーを取得します。

$response = wp_remote_get('https://example.com'); $content_type = wp_remote_retrieve_header($response, 'content-type');

例2: リモートリクエストのServerヘッダーを取得

この例では、リモートリクエストのServerヘッダーを取得します。

$response = wp_remote_get('https://example.com'); $server = wp_remote_retrieve_header($response, 'server');

例3: ヘッダーが存在しない場合の処理

この例では、ヘッダーが存在しない場合にデフォルト値を返します。

$response = wp_remote_get('https://example.com'); $header = wp_remote_retrieve_header($response, 'x-custom-header'); if (empty($header)) { $header = 'デフォルト値'; }

例4: すべてのヘッダーを取得

この例では、wp_remote_retrieve_headers()を使用してすべてのヘッダーを取得します。

$response = wp_remote_get('https://example.com'); $headers = wp_remote_retrieve_headers($response);

例5: ヘッダーの存在を確認

この例では、特定のヘッダーが存在するかどうかを確認します。

$response = wp_remote_get('https://example.com'); if (wp_remote_retrieve_header($response, 'x-custom-header')) { echo 'ヘッダーが存在します'; }

例6: カスタムヘッダーの取得

この例では、カスタムヘッダーを取得します。

$response = wp_remote_get('https://example.com'); $custom_header = wp_remote_retrieve_header($response, 'x-custom-header');

例7: エラーハンドリング

この例では、リモートリクエストがエラーを返した場合の処理を行います。

$response = wp_remote_get('https://example.com'); if (is_wp_error($response)) { echo 'エラーが発生しました'; } else { $header = wp_remote_retrieve_header($response, 'content-type'); }

例8: リダイレクトヘッダーの取得

この例では、リダイレクトヘッダーを取得します。

$response = wp_remote_get('https://example.com'); $location = wp_remote_retrieve_header($response, 'location');

注意点

  • リモートリクエストが失敗した場合、wp_remote_retrieve_header()nullを返す可能性があります。
  • ヘッダー名は大文字と小文字を区別しませんが、正確な名前を使用することが推奨されます。
  • リモートサーバーがヘッダーを返さない場合、この関数は空の値を返します。

関連機能: