【Advanced Custom Fields】更新したらページが表示されない、フィールドがなくなった時の対応方法

プラグインは常に最新のものが良いと言われているので、何気なく「更新」があると押してしまう場合が多いと思います。【Advanced Custom Fields】をアップデートしたらフィールドがなくなった、ページが表示されない、真っ白になったという場合の対応方法を書いてみたいと思います。

スポンサーリンク

はじめに

【Advanced Custom Fields】の「更新」でフィールドが無くなった、フィールドに入れていた情報が表示されないといったことが起きた場合、今現在できることは旧バージョンに戻すことです。バージョンの違いによって不具合が出ているといった状況のようです。

アップデートはどのバージョンでエラーが起きるのか

【Advanced Custom Fields】を使っている人のバージョンは、3、4、5あたりだと思います。
だいたいの方が4か5のバージョンかと思います。
自分の場合は、4.4.11を5.7.7にしたらフィールドが消え、ページからも入力したものが消えていました。
場合によっては、ページは表示されるけれど、フィールドが表示されないということもあるようです。
ページが表示されていれば、何か修正や新規で追加する用事が無ければ、意外とこの事態にしばらく気づかないなんてこともありえるかと思います。
調べてみるとだいたい
4→5
のアップデートで起きている場合が多いようです。

旧バージョンをダウンロードする

旧バージョンを手元に用意します。
バックアップがあればそれを使います。
もし無い場合は、下記よりダウンロードできます。

Advanced Custom Fields|downloads

自分が使っていたバージョンを覚えていないということもあると思います。その際は、いったん4.4.12をダウンロードして試してみてください。

ダウングレード方法

一番簡単な方法

旧バージョンの【Advanced Custom Fields】をFTPから上書きします。
管理画面のプラグインページから【Advanced Custom Fields】を停止したりなど一切せず、サーバーのフォルダを上書きします。
FFFTPなどのFTPソフトから、サーバーに接続し、

wp-content > plugins > advanced-custom-fields

と進んで、【Advanced Custom Fields】を上書きします。フォルダも消さずにそのまま上書きです。

ただ場合によってはWordPressへのログインはおろか、サイトが真っ白になるという事態もあったりします。
自分の場合はうまくいった場合とだめな場合がありました。
ダメな場合は、表示をさせようとしたら真っ白になりました。ページではなくサイトそのものが真っ白です。
この現象が起きた場合はかなり驚くと思いますが、その場合は、仕方ないですがアップロードした【Advanced Custom Fields】を削除します。
そしてもう一度アップロードしてみます。これで大丈夫であればOKです。
ただこの場合、パーミッションなどが一緒かどうか確認する必要がありますので、念のため削除する前にパーミッションをチェックしておき、アップロードしたフォルダがもしも違うパーミッションになっていた場合は、直します。

もし削除して再度フォルダをアップしても引き続き真っ白な場合は、また【Advanced Custom Fields】を削除します。
削除すればWordPressからログインできるはずです。慌てずにいきましょう。
※万が一全てのページが真っ白になった場合は、WordPressにログインしていたとしても、いきなり真っ白になり、ログイン画面すら消えていると思います。
この場合は、何もできません。慌てずに【Advanced Custom Fields】を削除しましょう。

ちなみにこの方法はよくないのでは?という風に思う方もいると思います。確かにサイトが真っ白になったらそっちの方が困るという場合も多いと思います。
しかしながらプラグインを停止すれば、フィールドに入力して表示されていた情報が今度は真っ白になり、ページの表示もなくなってしまいます。
フィールドは無い状態だけれでも今は普通にページの情報は表示されている、、という場合は、こちらを先に試すのもアリかと思います。
もちろん全ては自己責任でお願いいたします。

あとはアップロードはうまくいき、WordPressの管理画面も大丈夫だけれでも、プラグインのリストに【Advanced Custom Fields】が表示されていないという場合もあると思います。その場合も、【Advanced Custom Fields】のフォルダを削除して、下記の方法を試してみましょう。
この場合はおそらく上のほうにacf.phpがエラーになっています的な表示があったりすると思います。

管理画面からzipをアップする

WordPressの管理画面にある、プラグインページから【Advanced Custom Fields】を再度入れ直します。
【Advanced Custom Fields】をすでに削除している場合は、プラグインページで「新規追加」を押します。

「プラグインのアップロード」を押します。

「ファイルを選択」でzipの【Advanced Custom Fields】をアップロードします。

もしプラグインページで【Advanced Custom Fields】があり、「有効」になっている状態の場合は、「停止」を押します。

「有効化」と「削除」が出てくると思います。

絶対に削除を押してはいけません。
削除を押した場合、データベースからフィールドの情報が消えてしまう可能性があります。

【Advanced Custom Fields】を「停止」させてから同じように「新規追加」からzipの【Advanced Custom Fields】をアップロードし直します。
ちなみにバックアップフォルダなので、zipじゃないんだけど・・・という場合は、フォルダをzipに圧縮してください。Windowsならフォルダの上で右クリックすれば「圧縮」が出て、zipを簡単に作れると思います。
【Advanced Custom Fields】をアップロードしたら「有効化」を押せば、フィールドが復活して表示ができると思います。

バージョン5で作ったフィールドが消えた場合

バージョン4でフィールドを作り、「更新」で5のバージョンにしてから、新しくフィールドを作った場合があると思います。
4のフィールドは消えているわけですが、複数の人が管理している場合、どのページにフィールドを使っているか把握しておらず、消えていることに気づかないこともあると思います。ページが表示されていなければすぐわかりますが、フィールドのみが消えていて、ページの情報は普通に表示されている場合もあるからです。
4に戻せば4の時に作ったフィールドが復活して、5にアップデートすると、5が復活して4の時のフィールドが消えるといったことになると思います。
なんともいえない状態ですが、この場合は、どっちかを諦めて、入力しなおすということが必要になります。
フィールドは見えていませんが、フィールド自体は、データベースに格納されているので、呼び出せます。
新規でフィールドを作れば、情報が入った状態のフィールドがページ内に復活します。
どっちかを取り、どっちかを入力し直してください。その場合、「フィールドラベル」や「フィールド名」など必ず全く同じにしてください。

ちなみに、4の時にエクスポートすれば?と思う人もいると思います。

もしくはフィールドをバックアップしていて持っているよという場合もあると思います。
エクスポートしておいて、5にバージョンを戻して、ファイルをインポートすればいいのでは?と。
ただこの方法を用いても、こちらで検証した際には4のフィールドは復活しませんでした。
やはり手動での入力が必要かなと思います。
できることなら5にして手動でフィールドを再入力し、バージョンは最新というのがよいかなとは思います。

おわりに

【Advanced Custom Fields】を利用している方はとても多いと思います。便利ですからね。
そして常に最新にしたいと思うのは当然だと思います。利用者が多ければ、悪意のある人に狙われやすいわけですから、心配ですし、プラグインを常に最新にしておくことは基本中の基本ですからね。
アップデートに不具合があるかどうかを調べてから「更新」するのが当然だといわれても、もうすでに「更新」しちゃった、調べてみたらバグがあったのか??というのを知る場合も多いと思います。してしまったことは仕方ないと思います。
この記事をみてうまく戻せたら幸いです。

コメントをどうぞ