サポート » 使い方全般 » サイドバーのウィジェットについて

  • 解決済 dxc555

    (@dxc555)


    3.4.1を利用しています。
    ローカルでWPを組み終わった後に、phpmyadminからsqlをエクスポートしローカルのURLを本番のドメインに変更し本番のサーバーのphpmyadminからsqlをインポートしています。

    ファイルなどは既にアップしていますしWPもインストール済みです。

    投稿や固定ページのデータは問題なく移行できるのですが、サイドバーに設定したテキストウィジェット(任意のHTMLを記載)が反映されません。

    具体的には、ウィジェットが何も設定されていない状況になっています。
    3.3くらいまでは同じ方法でサイドバーのウィジェットも反映されていたと思うのですが3.4~の仕様変更などによるものでしょうか?

    数回試しましたが、同じ現象になったのでわかる方がいらっしゃれば教えてください。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター jim912

    (@jim912)

    dxc555さん、こんにちは。

    ウィジェットのデータは、データベースのoptionsテーブルにシリアライズ化されて保存されています。シリアライズ化というのは、配列のデータを一定の規則によって、文字列化するという意味です。

    シリアライズ化されたテキストウィジェットのデータ

    a:2:{i:2;a:3:{s:5:"title";s:11:"text widget";s:4:"text";s:19:"text widget content";s:6:"filter";b:0;}s:12:"_multiwidget";i:1;}

    データベースでは、配列のデータをそのまま保存することができないため、このようにシリアライズ化して保存するケースがあります。

    ドメインを変更する際に、ローカルと本番のドメインの文字数が異なり、シリアライズされたデータにドメインが含まれていると、このシリアライズされたデータが壊れてしまい、文字列から配列に戻すことができなくなってしまいます。

    おそらく、バージョンアップよりもこの変更時の作業による可能性が高いと思われますので、今一度確認してみてください。

    トピック投稿者 dxc555

    (@dxc555)

    お返事ありがとうございます。ご連絡遅くなり申し訳ございません。
    全く原因がわかりませんでしたが、確かにドメインの文字数は異なりますのでおっしゃる通りかもしれません。

    変更時の作業による可能性が高いと・・・
    とありますがどこを確認すればいいか教えていただけますでしょうか?

    大きな変更をした際は、ローカルのSQLをインポートしてしまった方が楽なのですがウィジェットを都度修正の必要があると辛いので直せるなら直したいと思っております。

    モデレーター jim912

    (@jim912)

    dxc555さん

    可能ならテキストウィジェットの内容に、ドメインを含めないのが一番簡単です。

    トピック投稿者 dxc555

    (@dxc555)

    お返事ありがとうございます。
    画像を表示している箇所があるので、ショートコードなどで代用策を検討してみます!

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「サイドバーのウィジェットについて」には新たに返信することはできません。