Вопрос или проблема
У меня возникла эта проблема после того, как 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/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. Давайте разобьём решение на несколько шагов для лучшего понимания.
Шаги по устранению проблемы:
-
Проверка данных в базе данных:
Вы уже заметили, что тип записи для изображений изменился с "attachment" на "post". Это важно, так как изображения должны иметь правильный тип поста для корректной работы в медиабиблиотеке и отображения на сайте. -
Исправление типов записей:
Использование 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';
-
Проверка плагинов:
Некоторые плагины, особенно те, что работают с медиафайлами, могут вызывать конфликты. Вы уже отключили плагины и сменили тему, что хорошо. Рекомендуется также проверить настройки плагина "Media Sync", чтобы убедиться, что он корректно работает с новой версией WordPress. -
Пересоздание миниатюр:
После внесения изменений в базу данных обязательно пересоздайте миниатюры изображений. Для этого воспользуйтесь плагином вроде "Regenerate Thumbnails" для обработки всех изображений в медиабиблиотеке. -
Проверка настроек права доступа:
Убедитесь, что права доступа к файлам и папкам на сервере установлены правильно. Обычно для папок используется 755, а для файлов — 644. -
Проверка файла
.htaccess
:
Возможно, после обновления ваш.htaccess
файл был изменен. Попробуйте сбросить его, перейдя в "Настройки" → "Постоянные ссылки" и просто нажав "Сохранить изменения". Это обновит записи и исправит возможные конфликты. -
Проверка ошибок через консоль разработчика:
Также, поскольку вы получили ошибку 404 на запрос кwp-json/wp/v2/media
, проверьте, правильно ли настроены ваши SSL-сертификаты и веб-сервер (особенно если вы используете Apache или Nginx).
Заключение:
Если после всех шагов проблема не решится, рекомендуется обратиться в поддержку вашего хостинга или WordPress, так как они могут помочь с более глубокими проблемами конфигурации сервера или установке WordPress. Убедитесь, что у вас установлены все обновления для ваших плагинов и вашей темы, так как несовместимость может также вызвать подобные причины.
Надеюсь, эти советы помогут вам восстановить нормальную работу вашей медиабиблиотеки и изображений на сайте.