wp_remote_retrieve_cookie()WP 4.4.0

Получает данные отдельной указанной куки из переданного ответа на запрос.

Работает на основе: wp_remote_retrieve_cookies()
Основа для: wp_remote_retrieve_cookie_value()

Хуков нет.

Возвращает

WP_Http_Cookie|Строку. Объект WP_Http_Cookie. Пустую строку, если указанной куки нет в ответе на запрос.

Использование

wp_remote_retrieve_cookie( $response, $name );
$response(массив) (обязательный)
Ответ на запрос полученный одной из функций: wp_remote_*()
$name(строка) (обязательный)
Название куки, данные (объект) которой нужно получить.

Примеры

0

#1 Получим данные отдельной куки

Допустим, мы отправили запрос и в ответе получили 2 куки: mycookie и mycook. Теперь нам нужно получить данные одной куки mycookie. Под данными подразумевается не значение куки, а все данные куки, которые представлены в виде объекта WP_Http_Cookie

Для демонстрации такого запроса, воспользуемся сервисом httpbin.org, который позволяет устанавливать куки в получаемый ответ от сервера.

$url = 'https://httpbin.org/cookies/set?mycookie=value1&mycook=value2';

// отправляем запрос
$response = wp_remote_get( $url );

$mycookie = wp_remote_retrieve_cookie( $response, 'mycookie');

print_r( mycookie );

/*
WP_Http_Cookie Object
(
	[name] => mycookie
	[value] => value1
	[expires] => 
	[path] => /
	[domain] => httpbin.org
)
*/

Список изменений

С версии 4.4.0 Введена.

Код wp_remote_retrieve_cookie() WP 6.6.2

function wp_remote_retrieve_cookie( $response, $name ) {
	$cookies = wp_remote_retrieve_cookies( $response );

	if ( empty( $cookies ) ) {
		return '';
	}

	foreach ( $cookies as $cookie ) {
		if ( $cookie->name === $name ) {
			return $cookie;
		}
	}

	return '';
}