大容量のインポート

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

1つの投稿タイプのみを別のワードプレスサイトに移行。投稿数は500ほどで1投稿に画像が4~5(カスタムフィールド)とアイキャッチ。

紆余曲折は省いて実際にインポートした方法。
1.Export media with selected content で画像ごとエクスポート。
2.サーバーのPHP設定、max_input_time・max_execution_time・memory_limit を増やす。
3.The WXR File Splitter というツールでxml ファイルを分割。
4.空のテスト環境にインポートし、タイム・アウトした場合には内容がダブらないように一旦リセットしてやり直し。WP Reset を使用。

最初は実際にインポートするサイトを複製したテスト環境でインポートを試みたが、いきなりメモリエラーで他のコンテンツが消えた。本番環境だったら大惨事なので必ずテスト環境で試しましょう。
Export media with selected content でエクスポートしたファイルの容量ではなく、画像をインポートする過程でタイムアウトが発生するので、分割は細かめに。

カスタムフィールドをACFに変更する目的もあったので、ACFに値をロードする処理の際にカスタムフィールドに登録された画像とアイキャッチは別のフィールドにIDから取得したURLを保存し、本番へ移行するためのテスト環境には画像と投稿データは別々に移行した。画像はMedia from Zip で。
画像URLは置換してからインポートするか、インポート後プラグインで置換するか。

繰り返しフィールドのACFへの移行は「Magic からACFへ 複製フィールド編」参照。Smart Custom Fields からの移行でも同様のやり方でできます。

その他のAdvanced Custom Fields に関する記事一覧

Advanced Custom Fields に関する記事一覧ページへ