タグアーカイブ WP Extended

WP Extendedのスニペット一覧が真っ白になった時のファイル復旧方法

WP Extendedのスニペット一覧が真っ白になった時のファイル復旧方法

WP Extended の管理画面でコードスニペットの一覧が突然真っ白になり、まったくアクセスできなくなっても、作成したスニペット本体はサーバー上に PHP ファイルとして残っている。慌てずに /wp-content/wpextended-snippets ディレクトリを開き、必要なコードを取り出せばよい。本記事ではファイルの所在確認からコードの復旧、別環境への移し替えまでを具体的に示す。

なぜ WP Extended のスニペット一覧が表示されなくなったのか

なぜ WP Extended のスニペット一覧が表示されなくなったのか

WP Extended のようなコードスニペット管理プラグインで一覧画面が機能しなくなる原因は、プラグイン自体の不具合というより、特定の環境下での PHP エラーやデータベースの不整合によるところが大きい。特に有効化したスニペットに文法エラーがあると、管理画面全体が「このサイトで重大なエラーが発生しました」といった真っ白な画面に陥るケースもある。実際の管理画面が表示されなくなった時の典型的な引き金は次のとおりだ。

  • 直前に有効化したスニペット内の PHP コードに誤りがある
  • プラグイン本体の更新と WordPress 本体または PHP バージョンとの相性問題
  • 他のプラグインとの競合で管理画面の読み込みが途中で止まる
  • サーバーのメモリ制限やファイル権限の問題でスニペットディレクトリを読み取れない

いずれにしても、スニペット一覧が見えなくなったからといって、作成したコードが消えたわけではない。WP Extended は各スニペットを wp-content ディレクトリ内に実ファイルとして保存しているため、管理画面が動作しなくてもサーバー側から直接回収できる。

スニペットの実体はどこに保存されているのか

スニペットの実体はどこに保存されているのか

WP Extended が保存するスニペットの実ファイルは、WordPress インストール先の wp-content/wpextended-snippets ディレクトリに置かれている。個々のスニペットは snippet-XX.php といった名前の独立した PHP ファイルになっており、コード本体のほかスニペット名や優先度などのメタ情報がコメントとして残っていることも多い。

↓ よくあるディレクトリ構成
/wp-content/
└─ wpextended-snippets/
    ├─ snippet-1.php
    ├─ snippet-2.php
    └─ snippet-3.php
※ 管理画面からアクセスできなくても、この場所をサーバー上で直接開けばスニペットのコードを取り出せる

サーバー上の PHP ファイルからスニペットのコードを回収する手順

サーバー上の PHP ファイルからスニペットのコードを回収する手順

管理画面が使えなくても、レンタルサーバーのファイルマネージャーか SFTP クライアントを使えばスニペットの実体にアクセスできる。全体の流れは以下のデモのとおりだ。

STEP 1 SFTP またはファイルマネージャーでサーバーにログインする
STEP 2 wp-content/wpextended-snippets ディレクトリを開く
STEP 3 スニペットの PHP ファイルをローカルにダウンロードする
STEP 4 エディタでファイルを開き、中身の PHP コードをコピーする

ファイルマネージャーを使う場合

多くの国内レンタルサーバーが提供しているブラウザ上のファイルマネージャーを開き、wp-content フォルダへ移動して wpextended-snippets を探す。目的のスニペットがどれかわからない場合は、すべての PHP ファイルを一旦ダウンロードし、ローカルで中身を確認すればよい。

SFTP クライアントでアクセスする場合

FileZilla などの SFTP クライアントを使い、ホスト名・ユーザー名・パスワード(または SSH 鍵)で接続する。接続後、リモートサイト側のディレクトリツリーから wp-content/wpextended-snippets へ進み、ファイルを一括ダウンロードする。権限不足で開けない場合は、サーバー管理画面からファイルのパーミッションを 755 に修正する。

取り出した PHP コードを別のスニペット管理プラグインへ移す

取り出した PHP コードを別のスニペット管理プラグインへ移す

ダウンロードしたファイルをテキストエディタで開くと、WP Extended が自動生成したヘッダコメントに続いて実際の PHP コードが記述されている。スニペットの中身だけをコピーし、別のコードスニペット管理プラグイン(例: 無料の Code Snippets プラグイン)に貼り付ければすぐに再利用できる。

Before
WP Extended の管理画面でスニペット一覧が空白のまま操作不能
After
サーバーから回収したコードを別のスニペット管理画面に登録し、正常に動作中
Before(問題発生時)  After(復旧後)

スニペットを Code Snippets に移す場合の注意点

Code Snippets のような別のプラグインに移すときは、コピーした PHP コードをそのまま新規スニペットとして貼り付ける。ただし、WP Extended では「フロントエンドのみ実行」「管理画面のみ実行」といった実行条件を設定している場合、それらを移行先プラグイン側で改めて指定し直す必要がある。条件が無く単純な functions.php 的コードであれば、貼り付けて保存するだけですぐに動く。

子テーマの functions.php に直接書く方法

スニペットの数が少なく、なおかつテーマの関数として常時読み込ませて構わない場合は、子テーマの functions.php に直接コードを転記するという手もある。ただし、テーマを切り替えると動作しなくなるため、サイト全体で使うコードは専用プラグインとしてまとめるほうが管理しやすい。

同じ問題が再発しないようにするための対策

同じ問題が再発しないようにするための対策

WP Extended の管理画面が再び使えなくなる事態を防ぐには、以下の点を普段から意識しておくことが重要だ。

  • スニペットを新規追加・有効化する直前は、必ずローカルやステージング環境で動作確認する
  • プラグイン本体や WordPress 本体を更新する前に、スニペットのバックアップ(ディレクトリごとダウンロード)を取る
  • PHP エラーログを定期的に確認し、構文エラーが残っていないか点検する
  • 別のコード管理プラグインへの移行を検討する場合、スニペットのエクスポート機能が無いか事前に調べる

よくある質問

管理画面が真っ白で wpextended-snippets ディレクトリも見つからない

WordPress のインストール先がサブディレクトリになっている可能性がある。サーバールートではなく、WordPress を設置したフォルダ(例: public_html/wp/)の中を確認する。また、何らかの理由でプラグインが削除されているとディレクトリごと消えている場合があるため、事前にバックアップが無いかレンタルサーバーの管理画面を調べる。

PHP ファイルの中身をコピーしても新しいプラグインで動作しない

多くの場合、スニペットが <?php 開始タグなしで保存されているか、WP Extended 独自の定数やフィルターフックに依存していることが原因だ。コードの先頭に <?php を付け、必要なフック(add_actionadd_filter)が正しく記述されているか見直す。

WP Extended を再インストールしたらスニペットは戻るのか

プラグインを一度アンインストールすると、wpextended-snippets ディレクトリやデータベースの情報が削除される可能性がある。そのため、再インストール前に必ずスニペットファイルのバックアップを取っておく。バックアップが無ければ、サーバーのバックアップサービスからの復元が必要になる。

スニペットが複数あり、どれが目的のコードかわからない

ファイル名だけでは判別が難しいため、全ての PHP ファイルを一度ローカルにダウンロードし、エディタで内容を確認する。WP Extended のヘッダ部分にスニペット名が書かれていることが多いので、それを手がかりに必要なファイルを特定する。

この記事のポイント

  • WP Extended のスニペット一覧が見えなくなっても、ファイルは wp-content/wpextended-snippets に残っている
  • サーバーのファイルマネージャーまたは SFTP で PHP ファイルを回収できる
  • 回収したコードは別のスニペット管理プラグインや子テーマに移せる
  • 事前のバックアップとテストで同じトラブルを防げる