Описание функции wp_remote_retrieve_body()
Функция wp_remote_retrieve_body() извлекает тело ответа из объекта WP_HTTP_Response, полученного в результате HTTP-запроса. Она используется для получения содержимого ответа, например, HTML-кода страницы или данных в формате JSON.
Функция полезна при работе с API и удаленными ресурсами, когда необходимо обработать полученные данные.
Параметры
$response
Тип: WP_HTTP_Response
Обязательный: Да
По умолчанию: null
Описание: Объект WP_HTTP_Response, полученный в результате HTTP-запроса
Возможные значения:
Возвращаемое значение
Тип: string
Описание: Содержимое тела ответа
Возможные значения:
• Строка с содержимым тела ответа
• Пустая строка, если тело отсутствует
• false, если передан неверный объект
Примеры использования
Базовый пример получения содержимого страницы
$response = wp_remote_get('https://example.com');
$body = wp_remote_retrieve_body($response);
// Выводим содержимое
echo $body;
Содержимое страницы https://example.com
Получение и декодирование JSON-ответа
$response = wp_remote_get('https://api.example.com/data');
$body = wp_remote_retrieve_body($response);
$data = json_decode($body, true);
// Работа с массивом $data
Необходимо убедиться, что сервер возвращает корректный JSON
Проверка на ошибки перед извлечением тела
$response = wp_remote_get('https://example.com');
if (is_wp_error($response)) {
echo 'Ошибка: ' . $response->get_error_message();
} else {
$body = wp_remote_retrieve_body($response);
echo $body;
}
Отображение сообщения об ошибке
Безопасность
Валидация входных данных: Проверка типа параметра на объект WP_HTTP_Response
Санитизация: Не требуется, так как возвращаемое значение — строка
Рекомендации: При выводе данных используйте esc_html() для защиты от XSS
— Связанные функции
Выполняет GET-запрос к указанному URL
Выполняет POST-запрос к указанному URL
— Хуки
Фильтрует тело ответа перед его возвращением
— Примечания
– Ограничения
Функция возвращает false, если передан неверный объект
– Частые проблемы
- Пустое тело ответа при 204 No Content
- Неверный формат ответа может привести к ошибкам