- Статус
- Решено
- Заявлено для
- WPML Multilingual CMS 4.4.10
- Решено в
- WPML 4.6.7
Обзор проблемы
Появляется пустой экран, и после включения режима отладки в некоторых конфигурациях возникает следующая ошибка:
PHP Fatal error: Uncaught InvalidArgumentException: element_id and type do not match in wp-contentpluginssitepress-multilingual-cmsclassescore-abstract-classesclass-wpml-set-language.php on line xx
В предыдущей версии подобные исключения были скрыты от пользователя. Однако в долгосрочной перспективе они могут привести к повреждению базы данных, и мы решили больше их не скрывать. Начиная с WPML 3.3.5 такие исключения генерируются, чтобы пользователи могли сразу обнаружить проблему. Это значительно упростит исправление проблем с поврежденными настройками, поскольку их можно будет выявить на ранней стадии.
На разных установках проблемы могут проявляться по-разному. Проблема может:
- Возникать на страницах админ-панели WPML.
- Делать невозможным доступ к странице Плагины.
- Возникать только при активации WPML (или его дополнений).
- Возникать при сохранении записей.
Во всех случаях появляется пустой экран, а при включенном режиме отладки выводится ошибка.
Обходное решение
Пожалуйста, сделайте полную резервную копию Вашего сайта перед тем, как продолжить.
Если у Вас всё ещё есть доступ к консоли:
- Перейдите в WPML → Поддержка.
- Нажмите на ссылку Поиск и устранение неисправностей.
- Нажмите кнопку Исправить назначение типа записи для переводов.
- Возможно, Вам потребуется нажать кнопку Удалить фантомные записи из таблиц переводов.
Если у Вас нет доступа или это не помогло:
- Подключитесь к Вашей базе данных.
- Откройте таблицу wp_icl_translations.
- Найдите element_id , вызывающий ошибку.
- Удалите эту строку.
Возможно, Вам потребуется повторить эти действия несколько раз, пока проблема не будет устранена.