wordpressの本番環境と開発環境

例えば、macを開発ローカル環境(xamppForMac+wordpress)とし

本番環境はサーバ(LAMP+wordpress)、という切り分けをして運用していくとき困るのが本番と開発の同期。

wordpressにはエクスポートツールがあるが、サイズ制限があったりで結局はDBダンプして反映となるが、DB内に記述されている画像ファイルやらリンクやらが書き変わってしまう。

ので、以下SQLで解決

[php]

<?php

require_once dirname(__FILE__).DIRECTORY_SEPARATOR.”wp-load.php”;

$old_url = get_bloginfo(“url”);

$new_url = “http://test.jp/blog”; //←適宜書き換えてください。末尾のスラッシュの有無に注意!

$sql = array(

UPDATE wp_options SET option_value = REPLACE(option_value, “http://localhost”, “http://test.jp”,);

UPDATE wp_posts SET post_content = REPLACE(post_content, “http://localhost”, “http://test.jp”), guid = REPLACE(guid, “http://localhost”, “http://test.jp”);

UPDATE wp_links SET link_image = REPLACE(link_image, “http://localhost”, “http://test.jp”), link_url = REPLACE(link_url, “http://localhost”, “http://test.jp”);

);

foreach($sql as $s){

$wpdb->query($s);

}

[/php]

上記のファイルをWordPressのルートフォルダに置いて、ブラウザからアクセスするとたぶん置換できると思います。