wp_remote_retrieve_body() WP 2.7.0

Отримує тіло (контент) відповіді, отриманий за допомогою будь-якої з функцій типу 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 .

Приклади

0

#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
)
*/
0

#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 6.0.2

function wp_remote_retrieve_body( $response ) {
	if ( is_wp_error( $response ) || ! isset( $response['body'] ) ) {
		return '';
	}

	return $response['body'];
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *