Изображения в медиа-библиотеке внезапно исчезли

5 мар. 2017 г., 19:01:43
Просмотры: 27.5K
Голосов: 3

У меня есть блог на WordPress, и всё работало нормально, но однажды внезапно все изображения на сайте исчезли..

Я вижу, что изображения физически находятся в wp-content/uploads/ в соответствующих директориях (по месяцам и годам), но ничего не отображается в медиа-библиотеке

Я также заметил, что все страницы и записи были переведены в черновики. Я опубликовал их заново, но по-прежнему не могу получить доступ к изображениям в медиа-библиотеке..

В настройках/медиа/

Я проверил опцию

Организовать загрузки по папкам, основанным на месяце и годе

но не вижу опции для указания пути к папке загрузок..

Надеюсь, кто-нибудь поможет определить ошибку и исправить её..

Заранее спасибо

3
Комментарии

Лучше загрузите скриншот вашей медиатеки и консоли разработчика. (в Chrome: Ctrl+Shift+J)

pouria pouria
6 мар. 2017 г. 21:01:50

Какую версию WordPress вы используете? И какой хостинг? Иногда хостеры делают странные вещи с файловой системой, что может нарушить работу базы данных. Также, судя по тому, что все записи вернулись в статус черновика, похоже, ваш сайт мог быть взломан.

Ian Ian
15 мар. 2017 г. 05:07:19

@Ian сейчас версия wordpress 4.7.3, но я не помню, какая была, когда всё сломалось. Хостинг Godaddy.. Да, возможно, это взлом.. :(

terminator terminator
15 мар. 2017 г. 08:02:41
Все ответы на вопрос 6
1

Описанные вами две проблемы могут быть связаны. Вложения (изображения) хранятся как записи в базе данных (поэтому заголовок, подпись и другие данные могут быть связаны с физическим файлом изображения). Именно эту запись вы видите в медиабиблиотеке.

Обычно post_status для вложений имеет значение inherit. Однако если post_status установлен как draft, запись больше не будет отображаться в медиабиблиотеке, даже если физический файл остаётся на месте, а заголовок и подпись по-прежнему хранятся в базе данных.

Скорее всего, вредоносный код или некорректно работающий плагин изменил все ваши post_status на draft. Чтобы проверить это, откройте PHP Admin и проверьте столбец post_status в таблице _posts вашей базы данных. Если изображений не слишком много, вы можете вручную изменить post_status, чтобы записи снова появились в медиабиблиотеке (попробуйте хотя бы с одним, чтобы убедиться, что это решает проблему). В противном случае придётся выполнить SQL-запрос для обновления таблицы.

18 мар. 2017 г. 13:40:16
Комментарии

@cjbi большое спасибо за ваши ценные замечания... действительно имеет смысл, что все вложения записи переведены в статус черновика... Я попробую это решение сегодня и дам вам знать

terminator terminator
20 мар. 2017 г. 10:02:06
0

Если вы давно не обновляли WordPress, у вас всё равно не должно было быть возможности изменить папку загрузки через админку. Эта функция была удалена в версии 3.5, если я не ошибаюсь.

Сначала сделайте резервную копию всего (вашей установки WordPress, особенно всего содержимого в wp-content, и вашей базы данных). Теперь что вы можете сделать:

Проверьте ваш wp-config.php

  1. Найдите строку вида define( 'UPLOADS', 'wp-content\path );. Это единственный способ изменить директорию медиафайлов в новых версиях WordPress.

  2. Если вы видите такой код, попробуйте удалить его из wp-config.php.

Установите последнюю версию WordPress

  1. Скачайте zip-архив с WordPress.org.
  2. Скопируйте архив в директорию вашего WordPress.
  3. Перенесите wp-config.php в другое место.
  4. Удалите всё в директории WordPress, кроме папки wp-content.
  5. Разархивируйте скачанный файл. Вы увидите новую папку wordpress. Скопируйте всё оттуда в оригинальную директорию WordPress.
  6. Верните ваш wp-config.php на место.

Попросите хостинг откатить ваш сайт до предыдущего состояния

Это крайняя мера. Просто спросите у хостинга, могут ли они откатить ваш сайт до момента, когда у вас ещё не было проблем с доступом к изображениям.

Что бы вы ни решили делать, вы всегда можете восстановить резервные копии, если что-то пойдёт не так.

Удачи!

15 мар. 2017 г. 08:40:47
0

Хочу поделиться решением, которое помогло мне, когда изображения в медиабиблиотеке не отображались. Я мог видеть названия файлов и нажимать кнопку редактирования, но вместо изображения видел только маленький синий квадрат, хотя файлы физически присутствовали на сервере. Решение, которое сработало в моем случае — установка плагина для перегенерации миниатюр и последующее их обновление. После этого все изображения снова стали отображаться в медиабиблиотеке.

Не знаю, является ли это вашей проблемой, так как в моем случае изображения не были установлены в статус черновика, но решил поделиться на случай, если кто-то столкнется с подобной ситуацией и найдет это решение полезным.

21 мар. 2017 г. 22:52:21
0

Я нашел решение.

По умолчанию плагин Polylang включает поддержку мультиязычности для медиафайлов. Эту функцию следует отключить. Вы можете сделать это, сняв галочку с опции "Активировать языки и переводы для медиафайлов" в настройках плагина Polylang.

18 мая 2020 г. 03:19:30
0

Со мной происходило то же самое, это было вызвано некоторыми установленными плагинами. Я удалил все недавно добавленные плагины, после чего всё заработало нормально.

Если всё ещё не работает, добавьте эту строку: define( 'UPLOADS', 'wp-content/uploads' ); в конец файла wp-config.php.

9 июл. 2020 г. 08:02:40
0
-1

Пожалуйста, проверьте директорию загрузки изображений img src в FTP или cPanel

Проверка директории загрузки изображений

15 мар. 2017 г. 09:48:01