Поддержка Проблемы и решения Ошибки в библиотеке медиафайлов на WP 5.5

  • Решено Webliberty

    (@webliberty)


    Всем привет! Обновился на WP 5.5 и вижу ошибки в библиотеке медиафайлов. Это общеизвестный баг или частный случай?

    В записи вставляю изображение, затем его удаляю, но в библиотеке все равно остаются данные о файле. Сам файл не удаляется с сервера. Вручную удаляю файл с сервера, в библиотеке по прежнему есть данные о файле, которые никак не удалить.

    При удалении из библиотеки в консоли вижу ошибку:

    load-scripts.php?c=0&load[chunk_0]=jquery,utils,moxiejs,plupload&ver=5.5:4 POST .../wp-admin/admin-ajax.php 500

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Модератор Yui

    (@fierevere)

    ゆい

    В WordPress 5.5 начат процесс обновления библиотеки jQuery,
    см — https://make.wordpress.org/core/2020/06/29/updating-jquery-version-shipped-with-wordpress/
    это может создавать проблемы со старыми плагинами и темами, зависящими от старой версии.Для начала, убедитесь что у вас есть резервная копия сайта, созданная до обновления WordPress. Возможно, если вы не найдете решения, вам придется откатить сайт на состояние до обновления.
    (Или вы правда ринулись обновляться сразу же после выхода новой версии даже не создав бэкап?)

    1. Проверьте обновления всех плагинов и тем. Установите их, если обновления есть.

    2. Установите и активируйте плагин восстановления совместимости со старой версией jQuery
    https://ru.wordpress.org/plugins/enable-jquery-migrate-helper/

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

    3. Сообщите авторам старых плагинов о необходимости обновления.
    Используйте сообщения отладки полученные от плагина Enable jQuery Migrate Helper

    4. Не забывайте проверять и устанавливать обновления плагинов и тем (или просто включите автообновления для них)

    Модератор Юрий

    (@yube)

    В записи вставляю изображение, затем его удаляю, но в библиотеке все равно остаются данные о файле.

    Всегда так было. Движок не знает, куда еще, кроме привязанной записи, был вставлен медиафайл, поэтому Создатели посчитали более правильным оставить аттач. Полное удаление медиафайла — и самого файла, и записи о нем — делается через медиатеку.

    Вручную удаляю файл с сервера, в библиотеке по прежнему есть данные о файле,

    Запись в медиатеке = запись в БД. Удаление файла с сервера в штатном режиме никак на базу не влияет, запись остается.

    которые никак не удалить.

    А вот тут подробнее, если можно.

    При удалении из библиотеки в консоли вижу ошибку:

    О 500-й ошибке должны быть более-менее подробные записи в логе ошибок php. БЕз них можно должно гадать и предполагать.

    Всегда так было. Движок не знает, куда еще, кроме привязанной записи, был вставлен медиафайл

    В библиотеке нажимаю Удалить навсегда.

    После удаления в библиотеке, при перезагрузке страницы снова эти данные появляются в виде серого значка:

    Если нажать на файл в библиотеке и снова нажать Удалить навсегда то он пропадет, но при перезагрузке вернется.

    В логах сервера:

    POST /wp-admin/admin-ajax.php HTTP/1.0″ 500 225 «https://webliberty.ru/wp-admin/upload.php?item=5543» «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36»

    Опытным путем выяснил, что при отключении плагина Subscribe to Comments Reloaded ошибка исчезает и файл удаляется из библиотеки навсегда.

    Задал вопрос в разделе плагина: https://wordpress.org/support/topic/error-on-wp-5-5/

    Надеюсь, автор оперативно подтвердит или опровергнет причастность Subscribe to Comments Reloaded к проблеме и при необходимости устранит проблему.

    По крайней мере, деактивация этого плагина на основном и тестовом сайте решает мою проблему с библиотекой медиафайлов.

    Модератор Юрий

    (@yube)

    В логах сервера:

    Это access лог, а детализация ошибки попадает в error.log. Но может и не попадать — зависит от настроек и параметров. Я бы порекомендовал на досуге ознакомиться с Отладка в WordPress.

    Задал вопрос в разделе плагина

    Вот это правильно.

    Первым делом пошел смотреть в error.log, но там ничего с этим связанного не было.

    Юрий, спасибо! Совсем забыл включить дебаг и посмотреть. Причина ошибки подтверждена:

    [12-Aug-2020 16:05:43 UTC] PHP Fatal error:  Uncaught Error: Object of class WP_Post could not be converted to string in /wp-content/plugins/subscribe-to-comments-reloaded/utils/stcr_utils.php:316
    Stack trace:
    #0 /wp-content/plugins/subscribe-to-comments-reloaded/utils/stcr_utils.php(316): preg_replace(Array, '', Object(WP_Post))
    #1 /wp-content/plugins/subscribe-to-comments-reloaded/wp_subscribe_reloaded.php(1089): stcr\stcr_utils->clean_email(Object(WP_Post))
    #2 /wp-includes/class-wp-hook.php(287): stcr\wp_subscribe_reloaded->delete_subscriptions(5547, Object(WP_Post))
    #3 /wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(NULL, Array)
    #4 /wp-includes/plugin.php(478): WP_Hook->do_action(Array)
    #5 /wp-includes/post.php(5838): do_action('delete_post', 5547, Object(WP_Post in /wp-content/plugins/subscribe-to-comments-reloaded/utils/stcr_utils.php on line 316

    Разработчик плагина Subscribe to Comments Reloaded довольно быстро среагировал на проблему и сегодня оперативно выпустил обновление, устраняющее ошибку.

    На данный момент плагин Subscribe to Comments Reloaded полностью совместим с WordPress 5.5 🙂

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «Ошибки в библиотеке медиафайлов на WP 5.5» закрыта для новых ответов.