Восстановить миниатюры, не находя оригинальное изображение, даже если оно там - PullRequest
0 голосов
/ 26 января 2019

У меня есть сайт WooCommerce с бесплатной темой, и я пытаюсь восстановить миниатюры , потому что они обрезаны неправильно (высокие изображения продуктов).

Несмотря на то, что сайт работает, с моей медиатекой что-то не так. Определенные вложения изображений не будут отображаться при нажатии Редактировать изображение из администратора WordPress. Другие работают, но я не могу восстановить эскизы ни для одного из них:

ERROR: The fullsize image file cannot be found in your uploads directory at myawesomeproduct-full.jpg. Without it, new thumbnail images can't be generated.

Это происходит с ошибкой HTTP 500, и, глядя на подробное ведение журнала ошибок в DevTools, я вижу responseJSON с "code": "regenerate_thumbnails_regenerator_file_not_found" в нем. Это указывает на https://github.com/Viper007Bond/regenerate-thumbnails/blob/master/includes/class-regeneratethumbnails-regenerator.php#L134, поэтому проблема с функцией get_fullsizepath().

  • изображения существуют на сервере в wp-content/uploads
  • wp-content/uploads разрешения 755, файлы 644
  • URL-адреса изображений в базе данных являются правильными, см. эту проблему в Плагин Regenerate Thumbnail support
  • Все возможные настройки безопасности iThemes отключены, сама защита iThemes отключена
  • нет соответствующих ошибок в WordPress debug.log

EDIT
Очевидно, относительные пути к файлам в полях _wp_attached_file в таблице wp_postmeta должны были быть wp-content/uploads/myawesomeproduct-full.jpg , а не myawesomeproduct-full.jpg? Я исправил это вручную в базе данных, но что-то заставляет его вернуться таким, каким он был, относительно папки uploads (вместо папки установки WordPress).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...