Почему теряются виджеты?

Ссылка скопирована
1 ответ

Не пойму в чем дело
С локального сервера переношу сайт на хостинг
В базе все ссылки локального заменены
При переносе на хостинг все ок, а вот в разделе виджеты - все виджеты пустые, которые заполнены на локальном

замечаю одно
на локалке стоит mariadb и база InnoDB utf8mb4_unicode_ci
на хостинге база InnoDB utf8_general_ci

это может быть связано с этим utf8mb4? И как исправить если дело в этом?

Дополнительно

Ты поломал базу. https://ru.stackoverflow.com/questions/767561/%D0%...

  • AlXan, что за бред?
    обычный экспорт/импорт с phpmyadmin
  • rootnoroot, я и говорю - ты поломал базу. Читай по ссылке, набирайся ума, а не хами помогающим.
  • AlXan, Каким образом я ее поломал? не пойму юмора
    экспорт базы это поломка?
    все работает как нужно
    одни виджеты только не переносятся
  • а дупликатором сами переносите, это дно
  • rootnoroot,

    Каким образом я ее поломал?

    Там написано про сериализованные данные и пути.

    а дупликатором сами переносите, это дно

    Я им и переношу. И платным и бесплатным. По десятку сайтов ежемесячно. В течении многих лет.
    А кроме него есть и другие решения. Но если ты не умеешь пользоваться дупликатором, то тебе их не осилить. Там уже мозги надо приложить. А ты даже про сериализванные данные понятия не имеешь
    Но я всё. Не хочешь делать правильно - нечего удивляться проблемам.

  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Frontend-редакция Ответ

    Виджеты WordPress хранятся в базе в таблице wp_options, чаще всего в опциях sidebars_widgets и widget_*. Если виджеты «теряются», причина обычно в смене темы, повреждении serialized data, миграции базы, кэше или несовместимости виджетов.

    Проверьте в базе:

    SELECT option_name, LENGTH(option_value)
    FROM wp_options
    WHERE option_name = 'sidebars_widgets'
       OR option_name LIKE 'widget_%';

    SELECT option_name, LENGTH(option_value) FROM wp_options WHERE option_name = 'sidebars_widgets' OR option_name LIKE 'widget_%';

    Частые причины:

    • сменили тему, и старые sidebar IDs больше не существуют;
    • миграция базы сломала сериализованные данные;
    • виджет принадлежал отключённому плагину;
    • импорт/экспорт заменил wp_options не полностью;
    • объектный кэш отдаёт старое состояние.

    Если тема сменилась, проверьте «Внешний вид → Виджеты → Неактивные виджеты». WordPress иногда переносит их туда.

    Если проблема после search-replace в базе, возможно, сломалась сериализация. Для WordPress нельзя делать замену домена обычным текстовым редактором по SQL-дампу без учёта serialized strings. Используйте WP-CLI search-replace.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно