wp_remote_retrieve_cookie_value()


WordPressのwp_remote_retrieve_cookie_value()関数は、HTTPレスポンスのクッキー値を取得するために使用されます。

構文

wp_remote_retrieve_cookie_value( array $response, string $cookie_name );

引数の説明:

  • $response (array) — HTTPリクエストのレスポンスデータ。
  • $cookie_name (string) — 取得したいクッキーの名前。

例 1. クッキーの値を取得する基本的な例

以下のコードはHTTPレスポンスから指定されたクッキーの値を取得します。

<?php
$response = wp_remote_get( 'https://example.com' );
$cookie_value = wp_remote_retrieve_cookie_value( $response, 'session_id' );
?>

例 2. クッキー値のチェックと処理

取得したクッキーの値を条件付きで処理する例です。

<?php
$response = wp_remote_get( 'https://example.com' );
$cookie_value = wp_remote_retrieve_cookie_value( $response, 'user_role' );
if ( $cookie_value === 'admin' ) {
    echo '管理者ログイン';
}
?>

例 3. クッキー値が空の場合のデフォルト値設定

クッキー値が見つからない場合にデフォルト値を設定する方法です。

<?php
$response = wp_remote_get( 'https://example.com' );
$cookie_value = wp_remote_retrieve_cookie_value( $response, 'cart_items' ) ?: '0';
echo 'カート内の商品数: ' . $cookie_value;
?>

例 4. 複数のクッキーを同時に取得

複数のクッキー値を一度に取得する例です。

<?php
$response = wp_remote_get( 'https://example.com' );
$session_id = wp_remote_retrieve_cookie_value( $response, 'session_id' );
$user_role = wp_remote_retrieve_cookie_value( $response, 'user_role' );
echo 'Session ID: ' . $session_id . ', Role: ' . $user_role;
?>

例 5. クッキー値をログに記録

クッキーの値をデバッグログに記録する方法です。

<?php
$response = wp_remote_get( 'https://example.com' );
$cookie_value = wp_remote_retrieve_cookie_value( $response, 'tracking_id' );
if ( $cookie_value ) {
    error_log( 'Tracking ID: ' . $cookie_value );
}
?>

注意事項

  • 関数を使用する際は、HTTPリクエストが成功しているか確認してください。
  • $responseが正しい形式であることを確保してください。
  • クッキー値はクライアント側で管理されるため、信頼できない値として扱う必要があります。

関連機能: