В медиабиблиотеке не отображаются загруженные изображения после обновления WordPress 6.6.2

Вопрос или проблема

У меня возникла эта проблема после того, как WordPress был автоматически обновлен через WHM/WP-Toolkit.

Я продолжал использовать плагин “Media Sync”, чтобы вернуть изображения в “Медиа библиотеку”, и это сработало. Теперь изображения вернулись в “Медиа библиотеку”. Однако “Media Sync” после возвращения изображения в Медиа Библиотеку не устанавливает его в качестве “Главного изображения” в соответствии с тем, что загружено в каждом посте.

  • Но теперь изображения в постах не отображаются на сайте/в главном. Нет ошибки о том, что изображение отсутствует на фронтенде.

1). Я сменил тему и отключил плагин. Пермалинк, очистка медиа.

2). Я понизил версию WordPress до 6.6.1,

3). Я очистил кэш и отключил брандмауэр в WHM.

4). Я также проверил базу данных wp_postmeta/wp_posts, изображения там есть с правильным URL.

После редактирования поста я получаю это сообщение:

Главное изображение
wp-json

“wp-json/wp/v2/media/1142808?context=view&_locale=user 404 (Не найдено)” и изображение не найдено в этом посте.

r/Wordpress – Пропало главное изображение
Пропало главное изображение
r/Wordpress – wp-json/wp/v2/media
wp-json/wp/v2/media
Все это произошло 3 дня назад в день запуска WP/6.6.2.

У вас есть советы, что еще можно сделать?

После тщательной проверки базы данных я увидел, что post_type для изображений изменился на “post“, вместо “attachment“.

Решение: Обновить Mime тип поста с “post_status = inherit” sql:

// Mime тип – img/jpeg
UPDATE wp_posts SET post_type = ‘attachment’ WHERE wp_posts.post_status = ‘inherit’ and wp_posts.post_mime_type = ‘image/jpeg’;

// Mime тип – img/png
UPDATE wp_posts SET post_type = ‘attachment’ WHERE wp_posts.post_status = ‘inherit’ and wp_posts.post_mime_type = ‘image/png’;

// Mime тип – img/webp
UPDATE wp_posts SET post_type = ‘attachment’ WHERE wp_posts.post_status = ‘inherit’ and wp_posts.post_mime_type = ‘image/webp’;

// Mime тип – video/mp4
UPDATE wp_posts SET post_type = ‘attachment’ WHERE wp_posts.post_status = ‘inherit’ and wp_posts.post_mime_type = ‘video/mp4’;

Ответ или решение

Проблема, с которой вы столкнулись, действительно довольно распространенная после обновления WordPress до версии 6.6.2. Давайте разобьём решение на несколько шагов для лучшего понимания.

Шаги по устранению проблемы:

  1. Проверка данных в базе данных:
    Вы уже заметили, что тип записи для изображений изменился с "attachment" на "post". Это важно, так как изображения должны иметь правильный тип поста для корректной работы в медиабиблиотеке и отображения на сайте.

  2. Исправление типов записей:
    Использование SQL-запросов, которые вы указали, — это правильный подход. Вы можете выполнить их через phpMyAdmin или любой другой инструмент для работы с вашей СУБД. Убедитесь, что вы сделали резервную копию базы данных перед выполнением изменений.

    Вот ваши команды для изменения статуса:

    -- Mime type - image/jpeg
    UPDATE wp_posts SET post_type = 'attachment' WHERE post_status = 'inherit' AND post_mime_type = 'image/jpeg';
    
    -- Mime type - image/png
    UPDATE wp_posts SET post_type = 'attachment' WHERE post_status = 'inherit' AND post_mime_type = 'image/png';
    
    -- Mime type - image/webp
    UPDATE wp_posts SET post_type = 'attachment' WHERE post_status = 'inherit' AND post_mime_type = 'image/webp';
    
    -- Mime type - video/mp4
    UPDATE wp_posts SET post_type = 'attachment' WHERE post_status = 'inherit' AND post_mime_type = 'video/mp4';
  3. Проверка плагинов:
    Некоторые плагины, особенно те, что работают с медиафайлами, могут вызывать конфликты. Вы уже отключили плагины и сменили тему, что хорошо. Рекомендуется также проверить настройки плагина "Media Sync", чтобы убедиться, что он корректно работает с новой версией WordPress.

  4. Пересоздание миниатюр:
    После внесения изменений в базу данных обязательно пересоздайте миниатюры изображений. Для этого воспользуйтесь плагином вроде "Regenerate Thumbnails" для обработки всех изображений в медиабиблиотеке.

  5. Проверка настроек права доступа:
    Убедитесь, что права доступа к файлам и папкам на сервере установлены правильно. Обычно для папок используется 755, а для файлов — 644.

  6. Проверка файла .htaccess:
    Возможно, после обновления ваш .htaccess файл был изменен. Попробуйте сбросить его, перейдя в "Настройки" → "Постоянные ссылки" и просто нажав "Сохранить изменения". Это обновит записи и исправит возможные конфликты.

  7. Проверка ошибок через консоль разработчика:
    Также, поскольку вы получили ошибку 404 на запрос к wp-json/wp/v2/media, проверьте, правильно ли настроены ваши SSL-сертификаты и веб-сервер (особенно если вы используете Apache или Nginx).

Заключение:

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

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

Оцените материал
Добавить комментарий

Капча загружается...