Вопрос или проблема
Переносив домены, я мигрировал базу данных WordPress с помощью функций экспорта/импорта в phpmyadmin.
Все работало как задумано, пока я не попытался изменить внешний вид постоянных ссылок в панели управления WP. С тех пор все сообщения исчезли из вкладки Записи в панели управления WP. Записи все еще существуют в базе данных.
Меры, которые я уже попытался предпринять:
- Повторный импорт базы данных из резервной версии.
- Смена структуры постоянных ссылок на ту, что была изначально.
- Запуск протокола ремонта таблицы базы данных WordPress. (Не было обнаружено никаких проблем).
- Отключение всех плагинов.
- Смена темы на twentyseventeen.
Я даже попробовал импортировать базу данных на свежую установку WP, чтобы проверить, появятся ли сообщения. Даже без изменения постоянных ссылок они не отображаются.
Я могу создавать новые записи, и они появляются в панели управления без каких-либо проблем. Постоянные ссылки также отображаются правильно. Я также могу посещать старые постоянные ссылки существующих записей, и они отображаются правильно.
Буду рад любым дальнейшим идеям, что попробовать. У моего клиента есть существующий контент, к которому они не хотят терять права редактирования в панели управления. Спасибо!
Отличным инструментом для миграции базы данных и доменов WordPress является Search-Replace-DB
. Он выполняет всю работу по переименованию за вас и даже справляется с сериализованными данными.
Вы можете найти его здесь.
Что вам нужно сделать:
- Очистить всю базу данных в целевой системе, с которой вы возились.
- Удалить все таблицы, чтобы у вас была пустая база данных.
- Повторно импортировать нетронутую оригинальную базу данных со старого домена.
- Скачать три файла PHP из SRDB.
- index.php
- srdb.class.php
- srdb.cli.php
- Загрузить их в отдельную директорию в той же папке, что и ваша установка WordPress, например,
./srdb
- Это должно выглядеть так:
- ./srdb
- ./wp-admin
- ./wp-content
- ./…
- Открыть его в браузере по адресу
http://new-domain.com/srdb
Вы должны увидеть что-то вроде этого:
Данные для доступа к базе данных должны определяться автоматически. Если нет, значит, вы поместили их не в то место.
- Введите URL вашего старого домена
- Введите URL вашего нового домена
- Сделайте
dry run
, чтобы проверить, работает ли это. - Сделайте
live run
, чтобы заменить.
Примечание: Это касается только базы данных. Если у вас есть имена доменов, жестко закодированные в файлах вашей темы, таких как CSS, PHP или JS, вам нужно вручную выполнить поиск и замену.
Надеюсь, это поможет.
Ответ или решение
Проблема, с которой вы столкнулись после миграции базы данных WordPress, когда ваши посты не отображаются на панели управления, может быть вызвана рядом факторов. Ниже приведены возможные причины и рекомендации по их устранению, основываясь на предоставленной информации.
1. Проблемы с миграцией базы данных
Миграция базы данных может привести к тому, что информация о содержимом не отображается должным образом. Убедитесь, что все таблицы в базе данных были успешно перенесены и их структура соответствует оригинальной. Особенно обращайте внимание на таблицы wp_posts
и wp_options
.
2. Убедитесь в корректности идентификаторов
Проверьте, что ID
постов соответствует ожиданиям. Иногда, если данные были редактированы вручную или перенесены некорректно, ID
постов могут нарушиться, что может оказать влияние на их отображение в панели управления.
3. Проблемы с параметрами отображения
Возможно, у вас включены фильтры в панели управления, которые скрывают публикации. Проверьте настройки отображения в «Посты» на предмет выбора статуса публикации (например, «Все» вместо «Опубликованные»).
4. Проверьте настройки прав доступа
Если вы можете создавать новые посты, но старые не отображаются, это может указывать на проблему с правами доступа к контенту. Убедитесь, что роли и права пользователей соответствуют стандартам. Поскольку посты отображаются на старых URL, это может указывать на проблемы с правами доступа.
5. Использование инструмента Search-Replace-DB
Для корректного обновления ссылок в базе данных после миграции рекомендую воспользоваться инструментом Search-Replace-DB. Данный инструмент позволяет автоматически исправить URL, а также обновить сериализованные данные. Вот пошаговая инструкция:
-
Очистка базы данных: В вашем целевом экземпляре WordPress выполните очистку базы данных, удалив все таблицы.
-
Перенос оригинальной базы данных: Импортируйте нетронутую версию базы данных из старого домена. Это обеспечит использование корректных данных.
-
Скачивание и установка Search-Replace-DB:
- Скачайте три файла:
index.php
,srdb.class.php
иsrdb.cli.php
. - Создайте новую папку
./srdb
в корневом каталоге вашего WordPress и загрузите туда файлы.
- Скачайте три файла:
-
Настройка: Откройте
http://new-domain.com/srdb
в браузере. Если учетные данные базы данных не установлены автоматически, проверьте правильность указания файла конфигурации. -
Замена URL:
- Введите старый домен и новый домен.
- Проведите тестовый запуск для проверки, затем выполните живую замену.
6. Ручное обновление ссылок
Если в ваших темах или плагинах закодированы старые URL, вам необходимо будет вручную заменить их на новые. Используйте текстовые редакторы или инструменты для поиска/замены в коде.
Заключение
Обратите внимание, что такие проблемы, как исчезновение постов в панели управления, могут быть вызваны множеством факторов. Следуя вышеуказанным рекомендациям и используя инструменты для управления базой данных, вы сможете вернуть доступ к вашему контенту. Если предложенные шаги не приведут к результату, рассмотрите возможность обращения к профессионалам или в сообщество WordPress для дальнейшей помощи.