WordPressのブログをあるフォルダから別のフォルダへ、あるいはあるサーバーから別のサーバーへ移動する場合、通常はエクスポート/インポート機能を使用します。
通常のブログでは問題ありませんが、あなたがWordPres開発者で新しいウェブサイトを、ローカルマシンに設置したとします。サイトのURLは http://localhost/first のようなもので、本番のURLは https://wpmirai.com のようなものに引っ越しするとします。テーマオプション、サイトオプション、プラグインオプションなど、すべての設定をもう一度やり直すのはめんどですね。
この引っ越し作業を行う簡単な方法は、データベースのダンプを行い、サーバーパスやURLへの参照をすべて検索・置換し、そのデータを新しい場所に再インポートすることだと思われます。
通常は問題なく引っ越しは完了しますが、しばしば失敗します。
その代わりに、理論的には簡単な方法は、データベースのダンプを行い、サーバーパスやURLへの参照をすべて検索・置換し、そのデータを新しい場所に再インポートすることです。
うまくいくはずですが、しばしば失敗します。
WordPressやそのテーマ、プラグインでは、多くのデータがシリアライズと呼ばれる方法で保存されている場合が心配の原因となります。
特に問題なのは、シリアライズされた文字列のデータの長さを変更すると、生成される文字列で宣言された長さも変更しなければならないことです。
これは、DBフィールドが何百もある場合、非常に苦痛ですね。
私の場合は以下のエラーが表示されていて何時間も調べた結果、上記の「シリアライズ」が原因だと分かりました。解決方法もいくつか試しましたが非常に簡単に解決できる方法が見つかったのでご案内します。
エラー(さくらインターネット)
Warning: array_key_exists() expects parameter 2 to be array, bool given in /home/?????-?????/www/???/wp-content/plugins/woocommerce/includes/admin/helper/class-wc-helper-options.php on line 54
簡単か解決方法は以下のとてもありがたいプラグインをインストールして一回だけ稼働させることです。何時間も解決を試みたエラーが魔法のように無くなりました。このプラグインの開発者に感謝です。
FG Fix Serialized Strings
まず、プラグインをインストールします。(インストール方法は「プラグインのインストール方法」を参照ください) インストールと有効化が完了すると❶「ツール」→ ❷「Fix Serialized Strings」にクリックします。
次の画面で ❸「Fix serialized strings」にクリックします。
写真の上部にエラーが表示されていますが、「Fix serialized strings」にクリックするとエラーが解消されます。
以下、エラーが消えていることがわかります。