WP_REMOTE_RETRIEVE_COOKIE() │ WP 4.4.0
Функция wp_remote_retrieve_cookie()
позволяет получить отдельный куки по его имени из ответа сервера.
Использование
Эта функция работает вместе с wp_remote_retrieve_cookies()
, чтобы извлечь куки из HTTP-ответа.
Возвращаемое значение
Функция возвращает объект WP_Http_Cookie
или пустую строку, если куки отсутствуют в ответе.
Синтаксис
wp_remote_retrieve_cookie( $response, $name );
- $response (array|WP_Error) (обязательный) — HTTP-ответ.
- $name (string) (обязательный) — имя куки, которую необходимо получить.
Пример использования
Получение данных отдельного куки
Предположим, мы отправили запрос и получили два куки: 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
)
Код функции
Вот как выглядит реализация wp_remote_retrieve_cookie()
:
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 '';
}
Примечания
- Функция позволяет легко работать с куками, что полезно для разработчиков, создающих плагин или тему для WordPress.
- Убедитесь, что вы правильно обрабатываете возможные ошибки (например, ко��да куки отсутствуют).
Связанные функции
Вот некоторые функции, которые могут быть полезны при работе с HTTP API в WordPress:
status_header()
wp_get_http_headers()
wp_http_validate_url()
wp_remote_get()
wp_remote_head()
wp_remote_post()
wp_remote_request()
wp_remote_retrieve_body()
wp_remote_retrieve_cookie_value()
wp_remote_retrieve_cookies()
wp_remote_retrieve_header()
wp_remote_retrieve_headers()
wp_remote_retrieve_response_code()
wp_remote_retrieve_response_message()
wp_safe_remote_request()
Эти функции помогут вам эффективно использовать HTTP-протокол при работе с WordPress.