質問: ### 前提 WordPressでサイトを作成しています。 既にサーバーにはサイトが存在しています。 しかし、開発環境といったものがないため現在は編集が直接公開先に反映されてしまいます。 ### 実現したいこと 直接公開先に反映されてしまう、確認する方法が公開されているサイトを見る以外にない。 この状態がよろしくないため、それを避けるためにローカルの開発環境を整えたいと思いました。 ### サーバー側の環境 サーバー側はlolipopを利用しています。 置き場所もDBもlolipopで賄っています。 ### ローカルに準備した環境 PCは windows7 を利用しています。 MAMPをインストールしてそれでローカルのWordPressの環境を整えました。 ### 発生している問題 テーマ内の編集内容や、カスタマイズした情報が反映されなくなる問題が発生しています。 メディアにアップした画像の情報や、プラグインの有効無効の状態は複製先と同じ状態です。 テーマの選択は複製先と同じものですが、編集内容は全てデフォルトのものが表示されます。 カスタマイズの内容も全てテーマのデフォルトのものに戻っています。 具体的には以下の様なものがデフォルトに戻されます。 * テーマオプション * セクションの順番 * セクション文章や画像の編集内容 * カスタマイズ * タイトルロゴに設定したはずの画像などのリンク * マージンなどの数値の設定 #### 発生する状況 ローカルからサーバー、サーバーからローカルでサイトの複製を行った際に発生しています。 #### DBのデータについて DBを確認したところ wp_options の name が onetone となっているデータのvalueにある情報は消えていませんでした。 比較を行っても差異があるのはURL部分のみでした。 DB上では編集した情報が残っているにも関わらず 編集した内容がブラウザのカスタマイズや、閲覧時に反映されない状態になっています。 ### 試したこと #### ローカルでのサイトの複製 一度サーバーからローカルに転送して上手く行かなかったためローカルでサイトの複製から試してみました。 その時上手く行かなかった問題はDBの中身の編集に抜けが合ったのと、セキュリティ周りのプラグインが邪魔をしていたようでした。 この2つを解決した状態でローカルでサイトの複製を行いました。 テーマの編集内容や、カスタマイズの編集内容、メディアにアップしたファイル、プラグインとその有効無効状態。 これらを確認し、複製元と同じ状態であることが確認できました。 #### 複製の際に行っていること * セキュリティ周りのプラグインを一旦無効にする * コピー&ペーストで複製先のサイトを作成 * 複製元のサイトのDBをエクスポート(SQLファイル) * DBのURLを複製先のものに書き換える * これはエクスポートしたSQLで文字列置換で行っています * 新しくDBを作成し、SQLファイルをインポート * コピーしたフォルダのwp-config.phpの中のDBの情報をさっき作成したDBに編集 ### 補足情報(言語/FW/ツール等のバージョンなど) WordPressで利用しているテーマは **Onetone** です。
回答: 多分エクスポートしたデータベースのファイルをエディタ等で置換してインポートしてるのだと思うのですが、そうした場合シリアライズされた項目は反映できないので、置換せずにそのままインポートして以下リンク先のツールを利用して置換してください。 使い方はreplaceと書かれた方に本番サイトのURL、withと書かれた方にローカルのURL、あとはname、user、pass、host、portを入力してlive runを押せば置換されます。