wp_remote_head() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました