Od czasu do czasu musimy zmigrować lub zrobić działającą kopię strony, która zobudowana jest na wordpressie. Jest wiele wtyczek, które ułatwiają ten proces, ale pokaże jak zrobić to ręcznie bez konieczności korzystania z rowiązań firm trzecich.
Zakładam, że potrafisz połączyć się do bazy za pomocą mysql cli lub myphpadmina, do bazy, która wskazana jest to pliku konfiguracyjnych wordpressa (wp_config.php). Więc zaczynajmy:
# jeżeli korzystasz z CLI
mysql -u root -p databasename ;lub; mysql
UPDATE wp_options SET option_value = replace(option_value, 'http://stareurl', 'http://noweurl') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://stareurl', 'http://noweurl');
UPDATE wp_posts SET post_content = replace(post_content, 'http://stareurl', 'http://noweurl');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://stareurl', 'http://noweurl');
Przypominam, że jeżeli pracujesz na kopi bazy i chcesz z niej skorzystać w innym wordpressie należy przeedytować plik konfiguracyjny: wp-config.php by wskazywał na nową bazę:
/** MySQL nazwa bazy */
define('DB_NAME', 'databasename');
/** MySQL użytkownik */
define('DB_USER', 'username');
/** MySQL hasło */
define('DB_PASSWORD', 'password');
/** MySQL hostname */
define('DB_HOST', 'localhost');