Вылезла ошибка после обновления. Решение проблемы WordPress версии 5.0.1 «Warning: Invalid argument supplied for foreach() in /wp-includes/blocks.php on line 183»
![WordPress 5.0.1 Warning: Invalid argument supplied for foreach() in /wp-includes/blocks.php on line 183](/wp-content/uploads/2018/12/WordPress-5.0.1.jpg)
WordPress 5.0.1
Если не хотите читать и вникать в решение, обращайтесь ко мне по адресу support@moreedez.ru — решим проблему за символические 1000 рублей.
Ошибка Invalid argument supplied for foreach() in /wp-includes/blocks.php
Обычно я WordPress не обновляю, «ученый» и знаю чем это оборачивается — тонны ошибок и часы ночных сидений в поисках исправления вордпресовских «обновлений». Но в этот раз решился, ставлю версию 5.0.1 (2..3)! Автоматическое обновления CMS WP у меня по дефолту отключено, словом, жму на ссылку обновления в админке и…
Первый фейл — новый редактор. Теперь нельзя просто взять перейти в админку и спокойно разместить текст редактора. Нужно добавлять блоки и прочую ерунду, как итог убил минут 30 на разбор полетов. В принципе новый блочный редактор WorddPress неплох, но я привык к минимализму и что надо, обычно, сам дописываю, с кодом проблем не возникало. Ладно, на это закрыл глаза.
Размещаю запись, всё красиво по феншую, перехожу на сайт а там ошибка:
«Warning: Invalid argument supplied for foreach() in /wp-includes/blocks.php on line 183»
Дело это не носит массового характера, потому что гугл выдал всего 4 ссылки на соответствующие запросу темы с оф. сайта WP и ряд «багнутых» сайтов с такими же ошибками. Решений там ни у кого не было, просили писать в тикеты. А владельцы сайтов почему-то не торопятся обращаться к специалистам для исправления. В общем на официальном сайте ВП предлагают выключить плагины. Я сделал больше и выпилил все свои наработки вроде вставки рекламных блоков через определённые параграфы, код который лежит в functions.php. В общем убрал всё, но ерор не решил.
В исходнике «/wp-includes/blocks.php» ничего аномального, но в новых классах разбираться не было и нет никаких желаний, поэтому решил окатить систему. Переходим к решению проблемы.
Устранение ошибки обновления WordPress
Это не совсем правильное решение проблемы и всё же — если сайт не работает а он у вас посещаемый и вы теряете доход, то вам не до разбирательств в коде и не до поиска человека который всё исправит. Поэтому самое быстрое возникшей ошибки «Warning: Invalid argument supplied for foreach()» после обновления WordPress до версии 5.0.1 в файле blocks.php — это восстановление бекапа!
Если есть на локалке — отличное! но залить файлы на сервер мало. Необходимо прогрузить и БД, иначе WP выдаст ошибдку мол код CMS Обновлен, поэтому нужно дообновиться — и вас опять вернёт к ошибке в block.php. Восстанавливаем файлы сайта на хостинг-сервере и базу данных и все вернётся к тому злосчастному моменту когда вы решили обновиться.
У меня получилось быстрей! Удобный хостинг sprinthost.ru в который я влюблен с первого знакомства с ним позволяет восстановить и файлы и БД в пару кликов, по времени процедура занимает не более 10 минут, в зависимости от сайта (в моем случае на «решение» ошибки обновлений ушло около 3 минут)
![восстановление бекапа sprinthost.ru за 5 минут в 3 клика](/wp-content/uploads/2018/12/%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%B0-sprinthost.ru_.jpg)
восстановление бекапа sprinthost.ru за 5 минут в 3 клика
Заходим в админку, переходим в меню «Дополнительно», выбираем Резервные копии и папку которую нужно воссановить. Жмем соответствующую кнопку и ждем завершение.
Спринтхост автоматически каждый день создаем бекапы! так что если вы ещё не на нем — регистрируйтесь. Очень стабильный хостинг с серьёзными проектами на борту.
![восстановление бекапа sprinthost.ru](/wp-content/uploads/2018/12/%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%B0-sprinthost.ru_-1.jpg)
восстановление бекапа sprinthost.ru отчасти решает ошибку после обновления WordPress
Совет: не обновляйте сайт без нужды!