Эта функция делает три вещи:
- загружает изображение в папку uploads, при этом делая его доступным через админку,
- прикрепляет изображение к посту, ID которого указан в параметрах,
- возвращает результат либо в виде тега
<img>
, либо в виде URL уже загруженного изображения.
media_sideload_image( $file, $post_id, $desc = null, $return = 'html' ) |
- $file
- (строка) URL изображения для загрузки.
- $post_id
- (целое число) ID поста, к которому нужно прилепить изображение.
0
— не прилеплять. - $desc
- (строка) То, что отправится в заголовок изображения. Если не указано, то заголовок будет взят либо из URL, либо из метаданных изображения.
- $return
- (строка) Что нужно возвратить функции. Может принимать два значения:
-
src
— URL изображения, -
любая_строка
(по умолчанию) —<img>
тег.
-
Что делать, если:
Fatal error: Call to undefined function media_sideload_image() in ... on line 835 |
Это означает, что функция не определена, скорее всего вы использовали её где-то за пределами админки. Чтобы всё было ок, нужно подключить 3 файла дополнительно, подробнее в примере:
require_once(ABSPATH . 'wp-admin/includes/media.php'); require_once(ABSPATH . 'wp-admin/includes/file.php'); require_once(ABSPATH . 'wp-admin/includes/image.php'); $file = 'http://nelaprosto.ru/wp-content/uploads/2014/11/VTH8063dQ4U.jpg'; $post_id = 5; $img_tag = media_sideload_image( $file, $post_id, 'Гек' ); |
Источник: misha.blog