web-dev-qa-db-ja.com

サイドバーを完全に削除する方法

私はカスタムテーマを開発していて、ウィジェットサイドバーを次のように追加しました。

register_sidebars(2, array('name'=>'Foobar %d'));

それらに意味名を付けることができるように、それらを再作成しました。そのようです:

register_sidebar(register_sidebar(
    array(
        'name' => 'Sidebar'
    )
));
register_sidebar(register_sidebar(
    array(
        'name' => 'Sub Menu'
    )
));

しかし、今私の管理領域には4つのサイドバーがあります。 2つの古いサイドバーを削除する方法私はunregister_sidebarを使ってそれらの登録を解除することができますが、私は私のテーマの中でこれらの2行のコードを永遠に保持したくありません。

私はこれをDBのwp_optionsの下のsidebars_widgetsの下に見つけました。実際にDBに保存されているようです。どのビットを削除するのか、何か考えがありますか。

a:6:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:3:{i:0;s:14:"recent-posts-2";i:1;s:10:"archives-2";i:2;s:12:"categories-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";a:1:{i:0;s:21:"subpages-in-context-2";}s:9:"sidebar-4";a:0:{}s:13:"array_version";i:3;}

ありがとう、

1
BFTrick

コメント@Rarstをありがとう!それが問題でした。どんな理由であれ、私はその追加のサイドバーメソッドをそこに呼び出しさせ、それが問題を引き起こしていました。

register_sidebar(
    array(
        'name' => 'Sidebar'
    )
);
register_sidebar(
    array(
        'name' => 'Sub Menu'
    )
);

WordPressはウィジェットのデータをDBに保存しますが、ウィジェット自体は保存しません。これはテーマによって完全に制御されます。

ありがとうございます。

0
BFTrick