Задать вопрос
@Arh1diablo
Web мастер

Функция wp_generate_attachment_metadata не создает промежуточные копии изображения, почему?

Доброго времени суток, функция wp_generate_attachment_metadata не генерирует миниатюры всех зарегистрированных размеров, уже дошло до банального :

// Подключим нужный файл, если он еще не подключен
// wp_generate_attachment_metadata() зависит от этого файла.
require_once (ABSPATH . 'wp-admin/includes/image.php');
require_once (ABSPATH . 'wp-admin/includes/file.php');
require_once (ABSPATH . 'wp-admin/includes/media.php');

// Создадим метаданные для вложения и обновим запись в базе данных.
$attach_data = wp_generate_attachment_metadata( '163', 'http://mysite.ru/wp-content/uploads/2020/08/97W6zb1u5Vk.jpg' );
print_r($attach_data);
wp_update_attachment_metadata( '163', $attach_data );


- 163 id точно есть в медиатеке, но он отображается как файл ( Копировать ссылку на файл работает, открывает сам файл, он есть по прописному адресу )
- Ссылка на изображение ( mysite.ru/wp-content/uploads/2020/08/97W6zb1u5Vk.jpg ) проверена, изображение есть.

print_r($attach_data); выдает слеудющий результат результат :
Array ( [width] => 1080 [height] => 908 [file] => http://tpcredit.ru/wp-content/uploads/2020/08/97W6zb1u5Vk.jpg [sizes] => Array ( ) )


sizes - пустой, получается не происходит генерация ?
Так же в директории где лежит файл, миниатюры не создаются.

Файл лежит в директории ( Проверено )
5f497c03b81d7702936835.png
Файл открывается по ссылке ( Проверено )
5f497c13b93eb310324455.png
Файл отображается в медиатеке WP ( Проверено )
5f497c1c107ed298703117.png
  • Вопрос задан
  • 94 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
cesnokov
@cesnokov
<head>&nbsp;</head>
В функцию wp_generate_attachment_metadata() надо передавать не URL файла, а полный путь до него:
$dir = wp_get_upload_dir();
$file = $dir['basedir'] . '/2020/08/97W6zb1u5Vk.jpg';
$attach_data = wp_generate_attachment_metadata( 163, $file );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы