Поддержка Проблемы и решения Fatal error: Uncaught Exception: Illegal widget setting ID

  • Здравствуйте!
    При попытке Настроить Тему через консоль сайта выдаёт следующую ошибку:

    Fatal error: Uncaught Exception: Illegal widget setting ID: nav_menu_item[] in /var/www/ch3de0c6d2/www/magazinter.ru/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php:171 Stack trace: #0 /var/www/ch3de0c6d2/www/magazinter.ru/wp-includes/class-wp-customize-nav-menus.php(818): WP_Customize_Nav_Menu_Item_Setting->__construct(Object(WP_Customize_Manager), ‘nav_menu_item[]’, Array) #1 /var/www/ch3de0c6d2/www/magazinter.ru/wp-includes/class-wp-hook.php(307): WP_Customize_Nav_Menus->customize_register(Object(WP_Customize_Manager)) #2 /var/www/ch3de0c6d2/www/magazinter.ru/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters(NULL, Array) #3 /var/www/ch3de0c6d2/www/magazinter.ru/wp-includes/plugin.php(474): WP_Hook->do_action(Array) #4 /var/www/ch3de0c6d2/www/magazinter.ru/wp-includes/class-wp-customize-manager.php(933): do_action(‘customize_regis…’, Object(WP_Customize_Manager)) #5 /var/www/ch3de0c6d2/www/magazinter.ru/wp-includes/class-wp-hook.php(307): WP_Customize_Manager->wp_loaded(») #6 /var/www/ch3d in
    /var/www/ch3de0c6d2/www/magazinter.ru/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php on line 171

    Писал на хостинг с просьбой помочь, но они дали ссылку на какой-то форум, а я, к сожалению, не программист и не понимаю терминологию и сленг общения экспертов WP. Только на уровне: «в таком-то файле, в такой-то строке поменять такое-то значение на такое». На этом мои знания IT заканчиваются.

    Поэтому, ПРОШУ компетентной помощи на понятном мне языке.

    P.S. Плагины все поочерёдно деактивировывал, но проблема так и не ушла…

    • Тема изменена 12 месяцев назад пользователем yanzbarik.
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Yui

    (@fierevere)

    ゆい

    https://wordpress.stackexchange.com/questions/218533/unusable-menus-and-illegal-widget-setting-id-nav-menu-item-error
    https://stackoverflow.com/questions/49414733/fatal-error-uncaught-exception-exception-with-message-illegal-widget-setting


    попробуйте решение отсюда.
    Судя по всему, в БД потерялось значение AUTO_INCREMENT

    исправить можете сами через PHPMyAdmin хостинга (выбрать БД WP и найти там в меню выполнить запрос / exec query )

    Перед вмешательством убедитесь что у вас точно есть бэкап (!)

    
    ALTER TABLE 'wp_terms'
    CHANGE COLUMN 'term_id' 'term_id' BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
    ADD PRIMARY KEY ('term_id'),
    ADD INDEX 'name' ('name'),
    ADD INDEX 'slug' ('slug');
    

    вот такой запрос.
    Если есть сомнения что, как и где делать — попросите поддержку хостинга, можете им ссылку на эту тему дать.

    • Ответ изменён 12 месяцев назад пользователем Yui.
    Автор yanzbarik

    (@yanzbarik)

    Здравствуйте!

    Большое спасибо, что откликнулись на мою просьбу. К сожалению решение, предложенное Вами не сработало. Я написал в СП хостинга, переслал полностью текст Вашего коммента, они сделали всё как описано, но ошибка, по-прежнему, появляется. Вот текст, который прислали мне с хостинга:
    …Сделали бекап сайта и базы данных перед выполнением запроса, но процедура не дала результата и отдается ошибка при выполнении запроса. Ваша ситуация аналогична https://stackoverflow.com/questions/49414733/fatal-error-uncaught-exception-exception-with-message-illegal-widget-setting ошибка #1068 — Multiple primary key defined. К сожалению, решение предоставленное в статье достаточно сложное, нужно манипулировать с отдельной таблицей, делать её копию и затем загружать в новосозданную таблицу лишь данные с копии, а не всей базы в целом. Подобная работа лежит в компетенции разработчика сайта или стороннего профильного специалиста. Возможно на форуме Вам смогут подсказать более простое решение…

    Ещё раз сердечно благодарю Вас, Yui, за оказанную помощь.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Fatal error: Uncaught Exception: Illegal widget setting ID» закрыта для новых ответов.