wp-login.php からログインしようとすると、以下のようなエラーが出るので直して欲しいとのご相談がありました。

Fatal error: Uncaught Error: Call to undefined function vkExUnit_register_setting() in /home/xxxx/yyyy.com/public_html/wp-content/plugins/vk-all-in-one-expansion-unit/inc/wp-title.php:16 Stack trace: #0 /home/xxxx/yyyy.com/public_html/wp-includes/class-wp-hook.php(286): vkExUnit_wp_title_init(”) #1 /home/xxxx/yyyy.com/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(”, Array) #2 /home/xxxx/yyyy.com/public_html/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #3 /home/xxxx/yyyy.com/public_html/wp-content/plugins/vk-all-in-one-expansion-unit/veu-package-manager.php(28): do_action(‘veu_package_ini…’) #4 /home/xxxx/yyyy.com/public_html/wp-includes/class-wp-hook.php(286): veu_package_init(”) #5 /home/xxxx/yyyy.com/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array) #6 /home/xxxx/yyyy.com/public_html/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #7 /hom in /home/xxxx/yyyy.com/public_html/wp-content/plugins/vk-all-in-one-expansion-unit/inc/wp-title.php on line 16

サイトの復旧方法

ではサイトの復旧方法を順を追ってみていきましょう。

1.プラグインの無効化

/wp-content/plugins/vk-all-in-one-expansion-unit/inc/wp-title.php

がエラーを起こしているようです。まずは、このプラグインを無効化するために、当該プラグインのフォルダーをリネームします。今回は、[vk-all-in-one-expansion-unit_bak]とリネームしました。

そうすると、まずはダッシュボードにログイン出来ます。

2.データのバックアップ

WordPressのバージョンが4.9.12

vk-all-in-one-expansion-unitのバージョンが、9.6.9で最新版。

何となく、WordPressのバージョンをアップすれば、今回のトラブルは解決しそうに感じましたが、念の為、ファイル群のバックアップを取ります。うっかり、WordPressをバージョンアップしてしまうと、他のプラグインが最新版のWordPressに対応していない場合、別のエラーが発生して、サイトが閲覧出来なくなる可能性もある為です。

バックアップの時に重宝するのが、zip.php です。これを使うと、ドメイン内にあるファイル群を、全てzipファイルに圧縮してくれます。

無事に圧縮出来ました。

次に、データベースのバックアップです。 [WP-DBManager] というプラグインを使います。無事にデーターベースのバックアップも取れました。

ファイル群のzipと、データベースのバックアップをダウンロードして、パソコンへ保存します。

3.ローカル環境の構築

バックアップは取りましたが、このまま、WordPressのバージョンを上げるのは怖いので、先ほど作ったファイル群を使い、[xampp]を使って、ローカル環境を立ち上げます。立ち上げ方は、割愛します。興味のある方は、お問い合わせ下さい。

4.WordPressやプラグインのバージョンアップ

ローカル環境に設置したサイトを使って、WordPressやプラグインのバージョンアップを行います。

まずは、WordPressのバージョンアップ。このサイトの場合、バージョンアップしてみましたが、特にエラーは発生しませんでした。

次に、先ほど、[vk-all-in-one-expansion-unit_bak]とリネームしたファイルを、[vk-all-in-one-expansion-unit]に戻して有効化します。

その後、サイトからログアウトして、再度ログインしてみます。エラーが発生せずに問題無く、ログインが出来る事を確認しました。

5.他のプラグインも最新版へ

他のプラグインも、最新版へ更新します。この際、一度に全て更新するのは、オススメしません。何故ならば、新たなエラーが発生した場合、どのプラグインが原因だったかを検証する必要があるからです。

2~3個ずつ有効化していきます。問題が発生しないことを確認したら、次の2~3個を有効化します。

問題無く、全てのプラグインを最新版へ更新出来ました。これで、安心して、本番環境のWordPressを最新版へ更新できます。

6.本番環境のWordPressを更新

ローカル環境で検証したので、後は、以下の手順でOKです。

  1. WordPressを最新版へ更新
  2. [vk-all-in-one-expansion-unit_bak]とリネームしたファイルを、[vk-all-in-one-expansion-unit]に戻して有効化
  3. プラグインを全て最新版へ更新

これらの手順を行ったところ、今回は、トラブル無く復旧出来ました。

まとめ

今回のエラーは、WordPressのバージョンが4系統だったことが原因でした。もし、同様のエラーが出ている場合は、5系統へバージョンアップしてみてください。

しかしながら、上にも書きました通り、プラグインが5系統に対応していないような場合は、また新たなエラーが発生します。

もしご不安でしたら、私までお問い合わせ下さい。

有償とはなりますが、 4000円(税別)/30分 にて復旧のサポートをします。