Перемещение WordPress Multisite, но настройки моей темы перестали работать. Зачем?

Недавно я переместил многосайтовую сеть в новый домен. В настоящее время в сети есть только 1 сайт (я в процессе создания сайтов для сети и перенесу этот сайт на промежуточный сервер для тестирования).

Для перемещения сайта я сделал следующее:

  • Передано ВСЕ файлы
  • Экспортировал полную базу данных из базы данных A и импортировал в базу данных B при подготовке
  • Пробежал серию находок & заменить запросы на все таблицы, чтобы заменить старый домен новым доменом
  • Обновил мой wp-config.php файл на промежуточном сервере с правильной информацией БД и обновленным URL

На данном этапе около все работает отлично, все, кроме настроек темы. Я понимаю, что это хранится в виде сериализованного массива, и я соответственно обновил длину каждого из полей. См. Ниже для сохраненного значения:

a:19:{i:0;b:0;s:8:"tcx_logo";s:72:"http://stange.********.com/wp-content/uploads/2014/11/***-***-bottle.png";s:13:"tcx_address_1";s:12:"***** Avenue";s:13:"tcx_address_2";s:0:"";s:12:"tcx_citytown";s:7:"*******";s:10:"tcx_county";s:6:"******";s:12:"tcx_postcode";s:8:"**** ***";s:11:"tcx_country";s:0:"";s:7:"tcx_lat";d:**.**********0000076470314525067806243896484375;s:7:"tcx_lng";d:-*.**********00000065853100750246085226535797119140625;s:12:"tcx_facebook";s:12:"************";s:11:"tcx_twitter";s:12:"************";s:18:"nav_menu_locations";a:2:{s:9:"main-menu";i:2;s:6:"footer";i:3;}s:16:"tcx_openingtimes";s:0:"";s:13:"tcx_foodtimes";s:225:"<dl class="dl-horizontal">
<dt>Monday to Thursday:</dt>
<dd>12noon - 2:30pm & 5:30pm - 9:00pm</dd>

<dt>Friday & Saturday:</dt>
<dd>12noon - 2:30pm & 5:30pm - 9:00pm</dd>

<dt>Sunday:</dt>
<dd>12noon - 8:00pm</dd>
</dl>";s:13:"tcx_telephone";s:13:"**** *** 5535";s:9:"tcx_email";s:27:"info@****************.co.uk";s:14:"tcx_bookatable";s:17:"Bookatable Widget";s:10:"tcx_seekom";s:13:"Seekom Widget";}

Конфиденциальная информация была ******«D.

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

Есть идеи?

3

Решение

Ваша проблема, кажется, с этим разделом:

s:225:"<dl class="dl-horizontal">
<dt>Monday to Thursday:</dt>
<dd>12noon - 2:30pm & 5:30pm - 9:00pm</dd>

<dt>Friday & Saturday:</dt>
<dd>12noon - 2:30pm & 5:30pm - 9:00pm</dd>

<dt>Sunday:</dt>
<dd>12noon - 8:00pm</dd>
</dl>"

…где я думаю, что вы посчитали символы неправильно. Конечно, если я вырезал и вставил вашу версию — и заменил звездочки, которые вы поместили в числовые поля, — мне нужно установить длину 243, а не 224, чтобы правильно десериализовать. Однако, учитывая, что копирование и вставка в Stack Overflow и из него, вероятно, приводят в замешательство, трудно быть уверенным. Почти наверняка есть некоторые проблемы в пустом пространстве, которые затруднят диагностику.

Если это проблема с ручным обновлением ваших сериализаций, вы должны увидеть ошибки, по крайней мере, в журнале ошибок сервера, которые помогут вам точно определить проблему, например, «Примечание PHP: unserialize (): ошибка по смещению X байтов Y в /path/to/file.php», что может дать вам некоторые подсказки.

Я рекомендую вместо обновления длины вручную использовать сценарий, разработанный специально для этой цели, который будет десериализовать значения в вашей базе данных, выполнить замену, а затем повторно выполнить их повторную сериализацию. я использую Search-Replace-DB именно для этой цели при отправке баз данных WordPress на мой промежуточный сайт.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]