ACFでインポート失敗 – 「投稿タイプ acf が有効ではありません」の原因と対処法

Web制作

こんにちは。
Web制作者のhikaruです。

この記事では、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 が有効ではありませんの原因と対処法」でした。

hikaru

1995年2月生まれ26歳。東京都にあるWeb制作会社に勤務をしています。 犬とコーヒーが好きです。

関連記事

特集記事

コメント

この記事へのコメントはありません。

hikaru

1995年2月生まれ26歳。東京都にあるWeb制作会社に勤務をしています。 犬とコーヒーが好きです。

TOP