Проблема назрела, я очень часто читаю блоги про о WordPress и смотрю смотрю тематические сообщества где часто вижу вот такой sql запрос:
UPDATE wp_options SET option_value = replace(option_value, 'old-site.com', 'новыйдомен.ру') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'old-site.com','new-site.com'); UPDATE wp_posts SET post_content = replace(post_content, 'old-site.com', 'new-site.com');
по задумке он должен сделать одну вещь, заменить везде в базе старый домен новым и этот метод работает, но есть в нем одна фатальная ошибка, в WordPress часть опций хранятся в виде сериализованного массива в таблице wp_options и запрос выше никак не учитывает этого факта.
Это грозит прежде всего тем что часть настроек WordPress не перенесется, или часть функций начнут работать непредсказуемо, и самое интересное что якобы причин беспокоиться нет, всё делалось по мануалу.
Теперь внимание
Правильный способ заменить имя домена в базе WordPress это утилита Search Replace DB, в работе с ней все просто, пользователи Windows будут в восторге, просто загружаем скрипт в корень сайта и отрыть несколько раз нажать кнопку Submit и Continue после чего удалить cкрипт.
1) Когда мы загрузили скрипт в корень WordPress сайта перейдите по url htp://you-site.com/searchreplacedb2.php
Здесь скрипт обнаружил файл wp-config.php и просит разрешения взять все данные для подключения к mysql из него, можно нажать Submit.
2) Здесь мы видим все эти данные, при желании здесь можно подключиться к другой базе данных и работать дальше с ней
просто нажимаем SubmitDB detalis.
3) Выбираем все таблицы таблицы в которых нужно повести замену
4) Последний шаг вписываем строку для поиска и замены
Search for (case sensitive string): — строка по которой производится поиск;
Replace with: — строка которой нужно замени;
Иными словами сначала вписываем старый домен потом ниже новый и нажимаем Submit Search string.
После чего обязательно удалите скрипт searchreplacedb2.php так как его могут использовать для что бы прочесть ваш wp-config.php и взломать ваш сайт .
Пожалуйста хватит уже использовать SQL запросы и портить базы ваших сайтов, пользуйтесь, специально созданными для этих целей инструментами.
>>> и смотрю смотрю тематические сообщества
Поправьте :)
спс , поправил :)