【WordPress】「Code Snippets」プラグインでエラーが出たときの対処方法

functions.phpに挿入するコードを管理するWordpressプラグイン「Code Snippets」を以前に紹介しました。

「Code Snippets」は、本来直接functions.phpに記述すべきコードを投稿のように個別に管理して、有効/無効の切り替えができるようにするプラグインです。

このプラグインを使うと、functions.phpへ直接コードを書くときに比べて記事と同じようにどんなスニペットなのかが一覧にできるし、各スニペット設定の中に書き換えたり追加したりするときにはどうするなどのコメントを残すことができるので、長いfunctions.phpのコードを解読する手間が省けること、使わないコードは記述内容は残しつつ稼働を停止させた状態にできるので非常に便利なのですが、functions.phpを編集する時と同様にエラーコードが出て表示されなかったり、画面が真っ白になってしまったりなどの不具合が発生することには変わりありません。

こうなってしまうとWordpressのサイト自体がダメになってしまうのか?と思いがちですが、きちんと対処すればサイトを壊すことなく復旧できます。今回は実際に私が行っているエラー対処方法を紹介します。

スポンサーリンク

転ばぬ先の杖~エクスポート機能で保存しておく

 復旧とは言ってもそれなりにデータベースの構造や編集が理解できていなければfunctions.phpに挿入したコードを削除して再びコードを登録していくという作業になってしまい、登録するスニペットの数が多くなるとなかなか大変な作業になります。
「Code Snippets」にはスニペット単位でエクスポートできる機能があるので、スニペットを追加して稼働が確認できたら必ずエクスポートしてパソコンなどに保存するようにしましょう。

まずは「Code Snippets」が稼働していない状態にする

ここがプラグイン化したものを使う際のいいところで、「Code Snippets」プラグインが稼働していない(functions.phpに追加コードがない)状態に戻します。
この作業にはFTPというファイル転送のプログラムを使用します。FTPでサーバーの「plugins」フォルダの中から「Code Snippets」というフォルダを見つけて適当な名前に変更するか、フォルダごと削除します。
作業が終了したらいつも通りWordpressの管理画面を開いてみてください。「Code Snippets」の稼働前の状態ですんなりエラーが解消していると思います。ただこの段階では追加したコードが適用されていませんので次の作業へと進めて行きます。

「Code Snippets」が作ったデータベーステーブルを編集または削除する

テーブルを削除する方法

php Myadminやその他サーバー提供のツールを使ってデータベース接続できる状況であれば、直接データベースを開き、「wp_Snippets」というテーブルを削除します。

データベースに接続できない環境だったり不安な場合には、「Wordpress Database Administrator」というプラグインをインストールして対処します。Wordpress Database Administratorは有効化すると管理画面の「ツール」に「Adminor」という項目が追加されますのでそこを開いて上記と同様に「Snippets」というテーブルを削除します。

テーブルを開いて編集する方法

php Myadminやその他サーバー提供のツールを使ってデータベース接続できる状況であれば、直接データベースを開き、「wp_Snippets」というテーブルのデータの中から不具合のあるスニペットだけを削除します。

php Myadminやその他サーバー提供のツールが使えない環境であったり使いにくかったりする場合には、「Adminer」というプラグインを使えばテーブルの編集が可能です。この場合も「wp_Snippets」というテーブルのデータの中から不具合のあるスニペットだけを削除します。

「Adminer」はワードプレスの管理画面からデータが格納されている「Mysql」データベースを操作できるプラグインです。不要データの削除やメンテナンスをデータベース上で直接行いたい場合や、プラグインに設定した情報が原因でエラーが出て管理画面が表示されないといった場合の復旧など様々な用途に使えます。

「Code Snippets」の再インストールと復元

プラグインの追加で再び「Code Snippets」をインストールします。有効化したら再びエラーが出る方は、テーブルの削除ができていないなど上記の作業がきちんとできていないことが考えられますので、FTPを使ったプラグインの削除へ戻って作業してください。

テーブルの編集を行った場合には「Code Snippets」を有効化すれば復旧完了です。

テーブルの削除を行った場合には、問題なく「Code Snippets」が有効化できたらバックアップしてあったスニペットをインポートするか、再度1つ1つ登録して復旧しましょう。

トップへ戻る