Есть несколько мест, где можно это решить.
- Резервное копирование вашей базы данных
- Попробуйте использовать внутреннюю утилиту WordPress
- Поиск совпадений
- Напишите свой собственный поиск и замените
Процедура
1. Сделайте резервную копию вашей базы данных
Я обычно так и говорю:
mysqldump -u dbuser -p'dbpassword' --complete-insert --default-character-set=utf8 databasename > /home/renoirb/backups/databasename.sql
У меня даже есть это в crontab на моем собственном сервере. Но это другая тема.
2. Попробуйте использовать внутреннюю утилиту WordPress
В этом случае WordPress имеет собственную утилиту. В большинстве случаев это может быть сделано только с ним.
Просто добавьте в functions.php
( см. Документацию WordPress ) вашей темы следующую строку:
update_option('siteurl','http://local.workspace/');
update_option('home','http://local.workspace/');
Предполагается, что вы уже запускаете тему с этим конкретным functions.php
файлом.
Запустите сайт, обновив страницу.
Затем прокомментируйте строки!
Тебе они больше не понадобятся.
В противном случае они могут обновлять конфигурацию вашей базы данных при каждой загрузке страницы.
Если этого недостаточно, продолжайте ...
3. Поиск совпадений
Я лично использую Adminer в своем развертывании, это легкая замена одного файла для PHPMyAdmin.
Почему я предлагаю Adminer ? Он имеет хорошую функцию поиска по всей базе данных, которая мне очень пригодится в нашем сценарии использования.
Это окно поиска с надписью: «Поиск в таблицах данных».
4. Напишите свой поиск и замените
UPDATE `wp_comments` SET `comment_author_url` = REPLACE(`comment_author_url`, "http://url", "https://url");
UPDATE `wp_postmeta` SET `meta_value` = REPLACE(`meta_value`, "http://url", "https://url");
UPDATE `wp_options` SET `option_value` = REPLACE(`option_value`, "http://url", "https://url");
Обратите внимание, что в моем случае я переносил ВСЕ свои URL-адреса с NON HTTPS на HTTPS.
Надеюсь, это было полезно