- 2026.02.16 UP !
【WordPress標準インポートの挙動】既存ACFフィールドは上書きされないが「空フィールド」は追加される現象
こんにちは FULL Web Designの渡邊です。この記事は制作者向けの記事です。
結論
WordPressの標準エクスポート/標準インポートでは、
- 既に値が入っているACFフィールドは 上書きされない
- まだ本番で一度も登録されたことのないフィールドは 新規追加される
という挙動になる。
起きた現象
ローカル → 本番へ
- 投稿IDは同じ
- 標準エクスポート → 標準インポート
しかし、
- 既存フィールドの値は変更されない
- 何も起きていないように見える
ところが、
「条件分岐」のチェックを入れた瞬間に表示される
新しいループフィールド(Repeater)部分に、
まだ本番では一度も登録したことがないフィールドが、すでに値入りで存在していた。
なぜ起きるのか(構造)
WordPress標準インポートは、
① 既存メタキーがある場合
→ 基本的にスキップ(上書きしない)
② メタキーが存在しない場合
→ 新規追加する
ACFの繰り返しフィールド(Repeater)は内部的には
meta_key = field_name_0_subfield
meta_key = field_name_1_subfield
meta_key = field_name(行数管理)
のように保存されている。
つまり、
- 既に存在しているmeta_key → 上書きされない
- 存在していないmeta_key → 追加される
という仕組み。
今回のケース
「孫メニュー」にチェックを入れると、
- それまで本番に存在していなかった
- 新しいRepeaterフィールド群のmeta_keyが生成される
その瞬間に、
ローカルでエクスポートされていたmeta_keyが
新規扱いでインポート済みになっていたため表示された
という状態。
重要なポイント
WordPress標準インポートは
- 同じ投稿IDでも「同期」ではない
- 「不足しているmetaだけ補充する挙動」に近い
つまり、
✔ データ移行ツールではない
✔ 差分追加に近い動き
✔ 完全上書きはしない
今後の対策
完全同期したい場合は:
- 投稿を一度削除してからインポート
- DBごと移行
- 専用のインポートプラグイン(上書き対応)
まとめ
WordPress標準インポートは
既存フィールドは守る
存在しないフィールドだけ追加する
という安全寄りの仕様。
今回の「孫メニューのループが突然出現した」現象は、
上書きではなく「不足分追加」挙動の結果だった。
ホームページ制作ならFULL ウェブデザインにお任せ下さい。
グラフィックデザイン25年以上、ホームページ制作20年以上の経験があります。
初回お問い合わせは、メールにてお願いいたします。
Webデザイナー/制作者。
中小企業・個人事業主向けに、集客と運用を意識したWebサイト制作を行っています。
デザインだけでなく、公開後に「使われ続けること」を重視した設計を大切にしています。
