WordPressのCode Snippetsプラグインで広告を制御していたが、誤って重複名を発生させてしまったために下記のエラーが発生しかなりハマりました。今日の自分と同じ症状の方にむけてメモを残します。
Fatal error: Cannot redeclare ad01Func() (previously declared in /home/xs999999/excellent8888.com/public_html/wp-content/plugins/code-snippets/php/snippet-ops.php(469) : eval()'d code:2) in /home/xs999999/excellent8888.com/public_html/wp-content/plugins/code-snippets/php/snippet-ops.php(469) : eval()'d code on line 1 このサイトで重大なエラーが発生しました。 WordPress のトラブルシューティングについてはこちらをご覧ください。
このブログに記載されているが、AdSenseにて手動で作成した広告ユニットに、AICPを被せて使うイメージでCode Snippetsプラグインを利用していました。
https://reicode.info/adsense-invalid-click-protector/
記事欄に1個しか広告を配置していなかったため、一番下にもう一個広告を配置するためCode Snippetsのad01Funcを複製してしまったところ、急にブログが死にました。
同じ名前が2個定義されてしまったためだと、ピンときたのですがどう復旧したらよいか試行錯誤してしまいました。
以下に実施したことをメモします。
1.自分宛てに届いたメールから、リカバリーモードでWordPressを起動しました。
2.Code Snippetsプラグインを無効化し、ブログとして機能するようになりました。
このときは広告ユニットが非表示となっています。
3.MySQLのIDとパスワードを特定しました。
ファイルマネージャーを利用し、『パス:/excellent8888.com/public_html』配下の「wp-config.php」ファイルでMySQLユーザーとMySQLパスワードを確認。
▼「wp-config.php」ファイルの内容 /** MySQL データベースのユーザー名 / define( 'DB_USER', '********' ); /** MySQL データベースのパスワード / define( 'DB_PASSWORD', '*********' );
4.MySQLのwp_Snippetsテーブルの重複してしまったデータを除去しました。
5.Code Snippetsプラグインを有効化しました。
6.ブログを表示させて確認しました。
以下、参考情報です。
【WordPress】「Code Snippets」プラグインでエラーが出たときの対処方法