Je développe un thème personnalisé et j'ai ajouté des barres latérales comme celles-ci:
register_sidebars(2, array('name'=>'Foobar %d'));
Je les ai ensuite recréées pour pouvoir leur donner des noms sémantiques. Ainsi:
register_sidebar(register_sidebar(
array(
'name' => 'Sidebar'
)
));
register_sidebar(register_sidebar(
array(
'name' => 'Sub Menu'
)
));
Mais maintenant, dans ma zone d'administration, je vois 4 barres latérales. Comment supprimer les deux barres latérales les plus anciennes? Je peux les désenregistrer en utilisant unregister_sidebar
mais je ne veux pas garder ces 2 lignes de code dans mon thème pour toujours.
J'ai trouvé cela dans la base de données sous wp_options
sous sidebars_widgets
. Il semble qu'ils soient effectivement enregistrés dans la base de données. Avez-vous une idée des bits à supprimer?
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;}
Merci,
Merci pour le commentaire @Rarst! C'était le problème. Pour une raison quelconque, la méthode de la barre latérale supplémentaire m'appelait et cela causait le problème.
register_sidebar(
array(
'name' => 'Sidebar'
)
);
register_sidebar(
array(
'name' => 'Sub Menu'
)
);
WordPress enregistre les données des widgets dans la base de données, mais ne les enregistre pas eux-mêmes - cela est entièrement contrôlé par le thème.
Merci!