説明
wp_remote_head() は、HEADリクエストを送る関数です。ボディを取得せずに、ヘッダーだけを調べられます。
基本構文
wp_remote_head( string $url, array $args = array() ): array|WP_Error
引数
$url:URL$args:オプション
戻り値
レスポンスの配列。
使い方(サンプル)
$res = wp_remote_head( $url );
$code = wp_remote_retrieve_response_code( $res );
注意点
- ファイルの存在確認やサイズ確認に便利です。
実務での使いどころ
- ファイルの存在や、サイズ、更新日を、本体をダウンロードせずに、確認するとき。
- リンク先が生きているかを、ステータスコードだけで、確認するとき。
よくあるミスと対処
- 本文(
body)が返ると思っている。HEADでは、本文は返らない。 - 戻り値が
WP_Errorのときを、考えていない。 - サーバーによっては、
HEADに対応していない場合がある。
NG例
$body = wp_remote_retrieve_body( wp_remote_head( $url ) ); // 本文は、空
OK例
$response = wp_remote_head( $url );
if ( ! is_wp_error( $response ) ) {
$code = wp_remote_retrieve_response_code( $response );
$size = wp_remote_retrieve_header( $response, 'content-length' );
}
使い分け早見表
| 関数 | 特徴 |
|---|---|
wp_remote_head() |
ヘッダーだけを取得する(HEAD) |
wp_remote_get() |
本文も取得する(GET) |
wp_remote_retrieve_header() |
応答から、1つのヘッダーを取り出す |
関連項目
wp_remote_get()、wp_remote_retrieve_headers()
公式リファレンス:wp_remote_head() | Function | WordPress Developer Resources

コメント