media_sideload_image()
Завантажує картинку в медіатеку WP із зазначеного УРЛ та прикріплює її до посту.
Іншими словами, функція завантажує зображення із зовнішнього URL у медіатеку WP, прикріплює його до зазначеного запису та повертає <img> або УРЛ завантаженого зображення.
Для роботи функції у Фронт-енді потрібні файли:
require_once ABSPATH. 'wp-admin/includes/media.php'; require_once ABSPATH. 'wp-admin/includes/file.php'; require_once ABSPATH. 'wp-admin/includes/image.php';
Якщо потрібно завантажити будь-який тип файлу (а не тільки зображення), використовуйте аналогічну функцію: media_handle_sideload() .
Хуки з функції
Повертає
Строку|int|WP_Error
.
- HTML img тег. У параметрі $return можна вказати, щоб повернувся не HTML код, а: src або id картинки.
- WP_Error об’єкт, з повідомленням про помилку.
Використання
media_sideload_image($file, $post_id, $desc, $return);
-
$file
(рядок) (обов’язковий) - УРЛ картинки, яку потрібно завантажити.
-
$post_id
(число) (обов’язковий) -
ID запису, з яким буде пов’язаний завантажений у медіатеку файл-картинка.
0
– Не прикріплювати. -
$desc
(рядок) Заголовок картинки. Якщо не вказати, заголовок буде взято з URL або метаданих картинки.
Примітка: Цей параметр дійсно встановлює “TITLE” вкладення, а не опис “DESCRIPTION”. Немає можливості вказати реальний опис вкладення за допомогою цієї функції.
Типово: null
-
$return
(рядок) Що повертати. Може бути:
html
– IMG тег зображенняsrc
– просто URLid
– ID вкладення. З WP 4.8
За замовчуванням: ‘html’
Приклади
#1 Завантажимо файл для посту із зовнішнього УРЛ
// коли ми у фронті require_once ABSPATH. 'wp-admin/includes/media.php'; require_once ABSPATH. 'wp-admin/includes/file.php'; require_once ABSPATH. 'wp-admin/includes/image.php'; $url = 'http://sworg/style/images/wp-header-logo.png'; $post_id = 3061; $desc = "Логотип WordPress"; $img_tag = media_sideload_image( $url, $post_id, $desc ); if( is_wp_error($img_tag) ){ echo $img_tag->get_error_message(); } else { // додано }
Такий приклад, але в іншому виконанні показаний в описі функції media_handle_sideload() – приклад 1.
список змін
З версії 2.6.0 | Введено. |
З версії 4.2.0 | Встановлено $return_type parameter . |
З версії 4.8.0 | Встановлено ‘id’ option для $return_type parameter . |
З версії 5.3.0 | The $post_id parameter був зроблений optional. |
З версії 5.4.0 | Орієнтовна URL-адреса підключення міститься в _source_url post meta value. |