wp_remote_retrieve_body()
Отримує тіло (контент) відповіді, отриманий за допомогою будь-якої з функцій типу wp_remote_*() , наприклад wp_remote_get() .
Ця функція приймає лише один параметр, відповідь будь-якої з функцій wp_remote_*()
, наприклад wp_remote_get() .
Використовуйте wp_remote_retrieve_response_code() , коли потрібно отримати лише код відповіді (наприклад, 200), .
Хуків немає.
Повертає
Строку
.
Строку
– Тіло відповіді (контент) у вигляді рядка.Пустую строку
– коли відповідь порожня або неправильно передана параметр.
Використання
wp_remote_retrieve_body($response);
-
$response
(масив|WP_Error) (обов’язковий) Відповідь отримана за допомогою однієї з функцій wp_remote_get() .
Функція розуміє, якщо передати об’єкт помилки WP_Error .
Приклади
#1 Отримання тіла відповіді
Отримаємо дані користувача Github:
$response = wp_remote_get( 'https://api.github.com/users/doiftrue' ); $body = wp_remote_retrieve_body( $response ); // decode data $ api_response = json_decode ($ body, true); print_r($api_response); /* виведе: Array ( [login] => doiftrue [id] => 15121552 [node_id] => MDQ6VXNlcjE1MTIxNTUy [avatar_url] => https://avatars.githubusercontent.com/u/15121552?v=4 [gravatar_id] => [url] => https://api.github.com/users/doiftrue [html_url] => https://github.com/doiftrue [followers_url] => https://api.github.com/users/doiftrue/followers [following_url] => https://api.github.com/users/doiftrue/following{/other_user} [gists_url] => https://api.github.com/users/doiftrue/gists{/gist_id} [starred_url] => https://api.github.com/users/doiftrue/starred{/owner}{/repo} [subscriptions_url] => https://api.github.com/users/doiftrue/subscriptions [organizations_url] => https://api.github.com/users/doiftrue/orgs [repos_url] => https://api.github.com/users/doiftrue/repos [events_url] => https://api.github.com/users/doiftrue/events{/privacy} [received_events_url] => https://api.github.com/users/doiftrue/received_events [type] => User [site_admin] => [name] => Kama [company] => [blog] => https://wp-doc.com [location] => [email] => [hireable] => [bio] => [twitter_username] => [public_repos] => 29 [public_gists] => 2 [followers] => 14 [following] => 2 [created_at] => 2015-10-14T08:52:55Z [updated_at] => 2022-02-14T12:17:11Z ) */
#2 Отримання віддаленої сторінки та її кешування
function get_remote_html( $url, $trans_name = 'foo_remote_html' ) { // Перевіримо транзитну опцію, якщо її немає отримаємо віддалених HTML if( false === ( $html = get_transient($trans_name) ) ){ // Отримуємо HTML $ Response = wp_remote_get ($ Url); // Перевіримо на помилки if ( is_wp_error( $response ) ) { return; } // Отримаємо тіло $html = wp_remote_retrieve_body( $response ); // Запишемо отриманий запит до транзитної опції на 24 години set_transient($trans_name, $html, 24 * HOUR_IN_SECONDS); } return $html; } // Викликаємо функцію $html = get_remote_html('http://example.com/some-remote-file.html', 'my_trans_name');
список змін
З версії 2.7.0 | Введено. |
Код wp_remote_retrieve_body() wp remote retrieve body WP 6.0.2
function wp_remote_retrieve_body( $response ) { if ( is_wp_error( $response ) || ! isset( $response['body'] ) ) { return ''; } return $response['body']; }