この記事では、Advanced Custom Fieldsでインポートに失敗したときの、対処法を紹介しています。
インポートに失敗する
次の内容を行った結果インポートに失敗しました。
移行前サイトで、カスタムフィールドのデータを、xml形式でエクスポート。
そして新規サイトで、WordPressインポーターを利用して、xmlファイルをインポートしました。
その結果、次のエラーメッセージが表示され、インポートに失敗。
「投稿タイプ acf が有効ではありません」
インポートに失敗する原因
バージョン4系統と、5系統では、データベースへの保存方法が異なる為です。
バージョン4系統では「acf」という単一の名前と紐づいています。
しかし、バージョン5系統では「acf-field-group」「acf-field」の2つに分かれています。
私の旧サイトと新サイトの、Advanced Custom Fieldsのバージョンを確認しました。
すると、旧サイトはバーション4.3.9
新サイトのバーションは、5.8.11でした。
以上がインポートに失敗した原因となります。
インポートに失敗するときの対処法
新サイトと旧サイトのAdvanced Custom Fieldsのバージョンを一致させます。
古いバージョンは、ここで手に入れることができます。
フローは次の通りです。
- 新サイトに、旧サイトと同じバージョンを、インストール
- バージョンを一致させたあと、xmlファイルをインポート
上記を実行することで、データ移行には、成功したはずです。
しかし、このままACFを、アップデートすることは控えてください。
おそらく、データが表示されなくなります。
ACFをアップデートする方法
念のため、バックアップを取得してから始めてください。
ACFをアップデートするフローは次の通りです。
- Advanced Custom Fieldsをアップデート
- アップデート後、データベース更新通知が表示されるので、更新する。

データベース更新通知が表示されない場合
バックアップを取得してから始めてください。
データベースの値を変更して、強制的にデータベース更新通知を表示させます。
- WordPressで使用しているデータベースにphpMyAdmin等でアクセス
- wp_optionsテーブル内から、「acf_version」を検索
- option_valueの値を、「4.4.12」に変更
- wordpress管理画面に、データベース更新通知が表示されるので、更新する。
option_value値が「5」より高い場合、すでにアップグレードが実行されているようです。
4.4.12 に変更することで、更新通知を再表示させています。
最後に
手作業でカスタムフィールドを再登録してもいいと思いますが、数がたくさんあり手間なので、解決策を探してみました。
以上、「投稿タイプ acf が有効ではありませんの原因と対処法」でした。
コメント