Почему в `Информации о вложении` не отображается загруженное в `Библиотеку файлов` изображение? Хотя ссылка на файл в `Информации о вложении` рабочая.
Как видно здесь выводится файл default.png:
А должно быть: my-website.ru/wp-content/uploads/2023/11/car-1.jpg
Дополнительно:
Отключи плагины, проверь наличие физическое существование миниатюр и посмотри на вкладку сеть.
Миниатюры есть даже при включённых плагинах.
Так же заметил, что фотки в админке подгружаются по незащищённому протоколу HTTP! На сайте всё норм – подгружаются по HTTPS.
Cайт копировался на хостинг из локального OpenServer-а. Конфиги были идентичны, а в дампе перед заливом на удаленный сервак было изменено имя домена.
Сделал dump базы, сделал везде замены http -> https, в итоге проблема не решена. Интересно то, с файлами, закаченными ещё на OpenServer, такой проблемы после переноса на удалённый сервер не наблюдается.
где вы нашли default.png, там ясно написано car-1.jpg, и путь такой же. Нажми внизу на "Просмотреть страницу вложения" и убедись существует ли файл. У тебя стоит real media librаry, попробуй его отключить и загрузить фотку. Так же отключи все плагины связанные с библиотекой. И опять таки, загрузи фотку. Посмотри всё что связано с фото в файле function.php темы. Ещё совет. Сделай копию сайта, скачай файл экспорта. И установи новую версию wordpress. Чтоб исключить возможность влияния OpenServer, или наоборот, нынешней системы на файлы перенесённые с OpenServer. Поменяй базу данных, короче всё как говориться с чистого листа. То шо файлы wordpress, которые были на OpenServer и нынешние файлы что в интернете, на хостинге, имеют отличие. Только надо начисто снести актуальный wordpress и установить с новой базой новый, со временем оно ещё больше даст о себе знать. И файлы с OpenServer нельзя переносить в интернет. Только можно скопировать css и js. В интернете надо ставить новую версию и использовать только css, js html страниц, записей и фотки. Остальное не должно быть связано с OpenServer. Если файлы перенесённые с сервера и файлы загруженные на хостинг отличаются, что факт, то значит существует конфликт нынешней версии и того что было на сервере.
UthvfyV, Да я давно уже решил эту проблему, открыв для себя плагин Wordpress Duplicator :)))
Нужно решить такую задачу?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Если в “Информации о вложении” ссылка на файл рабочая, но в админке вместо изображения показывается default.png или пустая миниатюра, обычно проблема в URL миниатюр, смешанном HTTP/HTTPS, отсутствующих размерах изображений или неправильных данных в attachment meta.
После переноса с OpenServer на хостинг недостаточно заменить домен в видимом SQL. Нужно корректно заменить сериализованные данные. Если делать обычный search/replace в текстовом редакторе, можно повредить serialized meta.
Отдельно проверьте meta для проблемного вложения. В таблице wp_postmeta у attachment должны быть поля _wp_attached_file и _wp_attachment_metadata. Если metadata пустая или содержит старые пути, WordPress не сможет нормально построить миниатюру.
После исправления URL запустите регенерацию миниатюр:
wp media regenerate --yes
wp media regenerate --yes
Если WP-CLI нет, используйте плагин Regenerate Thumbnails. Ещё проверьте, что папка wp-content/uploads доступна на чтение и запись, а файлы реально лежат по тем путям, которые записаны в базе.
Почему новые файлы могут работать, а старые нет: новые загружены уже на проде и получили правильные HTTPS-URL и metadata, а старые принесли с локалки старые пути или неполные размеры. Исправление обычно сводится к корректному search-replace и регенерации thumbnails.
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Если в “Информации о вложении” ссылка на файл рабочая, но в админке вместо изображения показывается
default.pngили пустая миниатюра, обычно проблема в URL миниатюр, смешанном HTTP/HTTPS, отсутствующих размерах изображений или неправильных данных в attachment meta.После переноса с OpenServer на хостинг недостаточно заменить домен в видимом SQL. Нужно корректно заменить сериализованные данные. Если делать обычный search/replace в текстовом редакторе, можно повредить serialized meta.
Правильнее выполнять замену через WP-CLI:
wp search-replace 'http://my-website.ru' 'https://my-website.ru' --all-tables --skip-columns=guid
Отдельно проверьте meta для проблемного вложения. В таблице
wp_postmetaу attachment должны быть поля_wp_attached_fileи_wp_attachment_metadata. Если metadata пустая или содержит старые пути, WordPress не сможет нормально построить миниатюру.После исправления URL запустите регенерацию миниатюр:
wp media regenerate --yeswp media regenerate --yes
Если WP-CLI нет, используйте плагин Regenerate Thumbnails. Ещё проверьте, что папка
wp-content/uploadsдоступна на чтение и запись, а файлы реально лежат по тем путям, которые записаны в базе.Почему новые файлы могут работать, а старые нет: новые загружены уже на проде и получили правильные HTTPS-URL и metadata, а старые принесли с локалки старые пути или неполные размеры. Исправление обычно сводится к корректному search-replace и регенерации thumbnails.