サポート » テーマ » ドメイン変更後、raindropsページデザインが変わってしまう。

  • nabenabe1220

    (@nabenabe1220)


    こんにちは。
    初めて投稿致します。

    私のwordpressでは、マルチサイト化した上でraindropsも使わせていただいてます。

    このたび、サーバの移行作業が発生することとなり、
    移行テストをしているのですが問題が発生したため、ここに質問させてください。

    最初に現在発生している問題点を言わせていただきますと、
    「旧サーバのDBとwordpressファイル(php,js等)を、
    新サーバにコピーして、ドメイン名変更などを行ったが、
    raindropsを適用しているページのデザイン設定が初期化されてしまっている。」
    です。

    具体的には、
    http://www.aaa.com(旧サーバ)
    で作っていたwordpressを、
    https://www.xxx.yyy.jp(新サーバ)
    に移行する必要があります。

    前後で異なるのは、
    ①ドメイン名がまったく異なる。
    ②移行後はSSL通信を行う。

    の2点です。

    手順は以下のとおりです。
    ①旧サーバのMySQLサーバでMySQLダンプファイルを作成し、
    ダンプファイル中のhttpとなっているところをhttpsに置換。
    その後、新サーバにリストアしました。
    ※ドメインの変更は③で行います。

    ②旧サーバのwordpressファイルを新サーバにコピーし、
    .htaccess等の設定ファイルを新ドメイン(https://www.xxx.yyy.jp)に置換。

    ③ネットに転がっているsearchreplace2.phpというファイルを新サーバにダウンロードし、
    上記ファイルを使ってドメイン変更を実施。

    ④動作確認として各ページを閲覧したが、エラーは発生しなかった。
    ただ、raindropsだけは、デザインがデフォルト値に戻ってしまいました。。。

    旧サーバではraindropsのデザインを「w3standard」にしているにもかかわらず、
    新サーバでは、「dark」に戻ってしまっています。

    cssデザイン等はデータベースに格納されていると認識していますが、
    影響のありそうな部分には触っていません。

    そこで質問です。
    ①ドメイン名を変更したことで、問題が発生しているのでしょうか?
    ②新旧サーバのドメイン名の長さが異なることで、問題が発生しているのでしょうか?
    ③移行方法に問題があるのでしょうか?
    ④仕様でしょうか?

    raindropsのデザイン設定も移行できれば一番いいのですが、
    ソースを見てもなかなか問題がつかめません。

    ご迷惑をおかけ致しますが、何か解決策や対策案をお持ちの方は
    ぜひ知恵をお貸しください。

    長くなりましたが、よろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • nobita

    (@nobita)

    こんにちは、Raindropsの作者です。

    raindropsのデザイン設定も移行できれば一番いいのですが、
    ソースを見てもなかなか問題がつかめません。

    Raindropsは、新規にインストールした場合デフォルトの設定を、

    lib/option-panel.php の、$raindrops_base_setting_args を読み込みます。

    新規にインストールした場合は、配色タイプダークが設定されます。

    これらの設定を、インストールしたあとに、テーマオプションのページや、テーマカスタマイザーで編集した場合、オプションフィールドに格納されます

    取得は、以下のようにすると出来ると思います。

    $raindrops_options = get_option("raindrops_theme_settings");

    配列で、格納されています。

    なので、旧サーバから、この値を取得して、新サーバで置き換えてやれば、多分大丈夫です。

    テーマカスタマイザーで、ヘッダー画像や背景画像の変更を行っていますか?

    それらの設定は、テーマのコアのほうに保存されます。

    回答不足の部分があれば、追記してください。

    テーマを使っていただきありがとうございます

    トピック投稿者 nabenabe1220

    (@nabenabe1220)

    早々にご対応くださいましてありがとうございます。

    なので、旧サーバから、この値を取得して、新サーバで置き換えてやれば、多分大丈夫です。
    テーマカスタマイザーで、ヘッダー画像や背景画像の変更を行っていますか?

    旧サーバのDBダンプファイルをそのまま移行しているので、
    データの中身が変わってしまったとは思えません。
    ※optionテーブルの中身も触っていないので・・・

    テーマカスタマイザーで、ヘッダー画像や背景画像の変更を行っていますか?
    それらの設定は、テーマのコアのほうに保存されます。

    はい、画像の読み込みを行っています。
    テーマのコアというのがどこを指すものなのか、
    お手数ですが具体的に教えていただいてもいいですか?

    お手すきの際にお返事ください。
    よろしくお願いします。

    nobita

    (@nobita)

    訂正:テーマのコア は、ワードプレスのコアでした (汗)

    具体的には、以下の関数で操作されています
    http://codex.wordpress.org/get_theme_mod

    旧サーバのDBダンプファイルをそのまま移行しているので、
    データの中身が変わってしまったとは思えません。
    ※optionテーブルの中身も触っていないので・・・

    レインドロップスのインストールの機能は、とても単純なものです。raindrops_theme_settingsがない場合、または配列のキーにinstallがなかった場合、テーマのデフォルト値の書き込みを始めます。

    アップデートの場合は、すでに、installが存在しているので、書き込みません。

    その他、設定が、デフォルトに戻ってしまうタイミング

    他のテーマに一度でも切り替えた場合は、その時点で、レインドロップスが使っていたオプションフィールドは、切り替え時点で、削除されます。

    また、テーマオプション画面で、reset all settingを押した場合は、カスタム背景、カスタムヘッダー画像も含めて、初期状態に戻ります。

    nobita

    (@nobita)

    追記:

    あるいは、”raindrops_theme_settings” が MySQLダンプファイルをコピーした時に、破損した可能性もあるかもしれません。

    その場合も、installが読めなければ、デフォルトの設定を読み込むだろうと思いますので、ダンプファイルが残っていれば、”raindrops_theme_settings”の内容だけでも、提供していただけると助かります。

    もし、ご協力いただけるようであれば、

    http://www.tenman.info/wp3/raindrops

    のほうに、コメントいただければ、返信のメールを送信させていただきます。

    現在のところ、テーマの設定のエクスポート機能は、Raindropsには、ありませんので、アンインストールした時にテーマ側に最後の設定を保存しておき、移動した時にその設定があれば、復元するような機能が、実現できるか、また、それが公式テーマのレギュレーションを通過できるかどうかを、今後の課題として、考えてみたいと思っています。

    こんにちは、

    “raindrops_theme_settings”のデータを送付いただきありがとうございます。

    残念ながら、これらを、unserialize()で 復元しようと試みましたが、すべてで、エラーになってしまいました。

    T_ENCAPSED_AND_WHITESPACE が発生しており、調べると、通常は、シングルクウォート(')で閉じられている部分が(’)になっていました。

    修正しても、

    unserialize() [function.unserialize]: Error at offset 6 of 8717 bytes

    といったエラーが発生し、復元する事が出来ませんでした。
    (手元の、データは、復元可能でした)
    これが、コピペしていただいた過程で、文字が変換されてしまったの可能性もありますが、

    置換の過程で、何らかのエラーが発生し、Raindropsが、読み出すべきデータを読み出せなくて、デフォルトの設定を行ったと考える他に、原因が考えられません。

    移行の為の置換ツールも、あてづっぽですが、

    http://interconnectit.com/products/search-and-replace-for-wordpress-databases/

    で、シリアライズデータが破壊されるかどうか、テストを行いましたが、

    シングルサイトでは、そのような事も発生しませんでした。

    なので、

    対策を以下のように行う事にしました。

    https://gist.github.com/tenman/5545822

    問題点

    WordPress Theme Raindrops ver 1.113 を利用して、WEBサイトの変更を行った場合、移転前のテーマオプションの設定が引き継がれない。

    サイトの移転に関して、一般的に行われるURL等の文字列置換を行った場合のRaindropsの挙動

    テーマデータは、シリアライズして保存されているため、URL等文字列置換を行った場合、データが壊れ、結果としてデフォルトデザインでインストールされる事があります

    対応

    ユーザーが、このような問題を考慮して、適切な対応をとる事は、困難で、Raindrops で適切な処理が必要と判断します。

    Raindropsのインストールの時点で、インストールされたサイトのテーマディレクトリURLとアップロードディレクトリのURLをテーマで使用するデータベーステーブルに格納し、サイトの移転を行った場合に、保存されているサイトのテーマディレクトリURLと、比較して、異なる場合は、テーマが自動的に、スタイルシート内のURLを書き換えるように、変更しようと思います。

    このコードの使い方

    functions.php の、raindrops_install_navigation関数を上記のものと置き換えて、Raindropsを再インストールしてください。

    なを、この変更は、Raindropsの次回のアップデートに含まれる予定です。

    このようにしておけば、オプションフィールドで、少なくともURLのツールによる置換は行われなくなるだろうと考えています。

    ただ、マルチサイトに関しては、エラーが発生しないという程度の確認だけで、

    ローカルシングルサイトで、http://127.0.0.1/形式から、http://192.168.1.x/形式に変更するといった事で、動作を確認しているくらいなので、なにか、あったら、フォーラムに、書き込んでいただけるとうれしいです。

    ありがとうございました

    追伸
    シリアライズ というのは、配列やオブジェクトを保存可能な状態にすることで、アンシリアライズは、それらを元の配列やオブジェクトとして読めるようにする処理のことを言います。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「ドメイン変更後、raindropsページデザインが変わってしまう。」には新たに返信することはできません。