wp_remote_head()


WordPress関数wp_remote_head()は、指定されたURLに対してHTTP HEADリクエストを送信し、レスポンスを取得するために使用されます。この関数は通常、外部リソースのステータスやヘッダー情報を取得する際に使用されます。

構文

wp_remote_head( string $url, array $args = array() );

引数の説明:

  • $url (string) — リクエストを送信するURL。
  • $args (array) — リクエストの追加オプションを指定する連想配列。

例1: URLのヘッダー情報を取得する

指定されたURLのヘッダー情報を取得します。

<?php
$response = wp_remote_head( 'https://example.com' );
if ( ! is_wp_error( $response ) ) {
    $headers = wp_remote_retrieve_headers( $response );
    var_dump( $headers );
}
?>

例2: タイムアウトを設定したリクエスト

リクエストにタイムアウトを設定して実行します。

<?php
$response = wp_remote_head( 'https://example.com', array( 'timeout' => 5 ) );
if ( ! is_wp_error( $response ) ) {
    $status_code = wp_remote_retrieve_response_code( $response );
    echo $status_code;
}
?>

例3: 認証ヘッダー付きのリクエスト

認証情報を含むカスタムヘッダーを追加してリクエストを送信します。

<?php
$response = wp_remote_head( 'https://example.com', array(
    'headers' => array(
        'Authorization' => 'Bearer your-token-here',
    ),
) );
if ( ! is_wp_error( $response ) ) {
    echo 'リクエスト成功';
}
?>

例4: SSL検証を無効化するリクエスト

SSL検証を無効化してリクエストを送信します。

<?php
$response = wp_remote_head( 'https://example.com', array( 'sslverify' => false ) );
if ( ! is_wp_error( $response ) ) {
    echo 'SSL検証を無効化してリクエスト成功';
}
?>

例5: デバッグ用のレスポンス出力

レスポンスの全データをデバッグ出力します。

<?php
$response = wp_remote_head( 'https://example.com' );
if ( ! is_wp_error( $response ) ) {
    var_dump( $response );
}
?>

注意事項

  • この関数は、リクエストが失敗した場合にWP_Errorオブジェクトを返します。そのため、常にエラーチェックを行うことが推奨されます。
  • 外部リソースへのリクエストを送信する際は、リソースが信頼できるものであることを確認してください。
  • 頻繁なリクエストはパフォーマンスやAPI制限に影響を与える可能性があります。

関連機能: