使用していないと思われるウィジェットエリアが表示される原因は?
WordPressではほぼすべてのデータはデータベースに保存されており、サイトに関する設定情報はoptionsというテーブルに保存されることがほとんどです。
そしてテーマの設定に関する情報は、「theme_mods_テーマスラグ」に保存されていて、この情報はテーマカスタマイザーの設定変更やウィジェット設定の変更を行う度に更新されています。
ここからはテストサイトを使ってテストを行った上での考察になってしまいますが、WordPressのテーマやプラグインから追加されたウィジェットエリアに一度でもウィジェットを挿入して更新してしまうとoptionsテーブル内のそのテーマに対する設定情報に情報が書き込まれてしまい、その後削除をして保存したとしても情報が残っているため、使っていないウィジェットエリアが表示されてしまうようです(テストできるサイトがあって、ウィジェットエリアの追加方法が分かっている方は試してみてください)。
完全に不要なウィジェットエリアを削除するには、以下のいずれかの方法で処置をします。
特定のウィジェットエリアを無効にする方法
データベースの設定項目をリフレッシュする
こちらはテーマを完全に元の状態に戻す方法です。
こちらはデータベース内のデータ操作に慣れていない方は行わないでください
この操作によりテーマカスタマイザーやウィジェット設定画面で行った設定はすべてクリアになりますのでご注意ください
phpMyAdminなどを使ってサイトが接続されているデータベースを開き、〇〇_optionsというテーブルを開いた状態で「theme_mods_」を検索します。
数のように今まで有効化して何等かの設定保存をしたことのあるテーマのスラグを持つ行が表示されるので、option_valueの部分をダブルクリックして表示させ、内容をすべて削除します。

この操作により、そのサイトのそのテーマに関する設定情報がリセットされます。
操作後ウィジェット設定画面を開くと、不要なウィジェットエリアはすべて削除され、これまで設定していたウィジェットもすべて削除されているはずです。
再度書きますが、この措置はテーマの設定をすべてクリアしデフォルトに戻りますので、すべてを再設定するつもりでなければ次項の方法で対処してください
テーマファイルから無効にする方法
公開しているサイトでテーマ設定のリセットを行わずに不要なウィジェットエリアを削除したい場合に有効な方法です。
不要なウィジェットエリアのところで右クリックして「検証」をクリックします。
欄外に表示されるソースコードから、id=”〇〇”の部分を探します(下図の例では「sidebar-1」がIDです)。

以下のコードを有効化しているテーマのfunctions.phpへ追加します。
function pwcn_remove_some_widgets(){
unregister_sidebar( 'sidebar-1' );
}
add_action( 'widgets_init', 'pwcn_remove_some_widgets', 11 );
上記の場合はIDが「sidebar-1」なのでunregister_sidebar()の指定をそのIDにしています
複数のウィジェットエリアを削除するには以下のコード部分を下に複製して追加していきます。
unregister_sidebar( 'ウィジェットエリアのID' );
以上ウィジェットエリアを削除する方法でした。
ウィジェット設定画面に表示される不要なウィジェットエリアは、管理上ウィジェットの追加ができる領域がありますよ!というだけで、テーマテンプレート内で呼び出すためのコードがなかったり、ウィジェットを何も入れなければ表示・出力はされませんから、ウィジェットの管理画面で邪魔な場合のみ削除するといいでしょう。
コメントを残す