web-dev-qa-db-fra.com

Obtenir la liste de toutes les barres latérales enregistrées

J'enregistre automatiquement les barres latérales pour chaque catégorie (un espace de widget distinct par catégorie). La technique que j'utilise estici.

Du côté administrateur, j'ai une page d'options où je dois afficher une liste déroulante de toutes les barres latérales enregistrées ... Existe-t-il un moyen d'obtenir de manière dynamique cette liste de barres latérales enregistrées? puisqu'ils sont enregistrés dans functions.php, je suppose qu'ils sont en mémoire, pas dans la base de données.

Je pourrais garder une trace des barres latérales que j'enregistre dans une variable globale, mais juste au cas où les plugins enregistrent leurs propres barres latérales, j'aimerais aussi en rendre compte.

Je vais creuser à travers le noyau si je dois, mais je pensais que quelqu'un le saurait peut-être :)

Merci

15
Jonah Goldstein

Hmm ... Je ne suis pas sûr que ce soit la meilleure façon de le faire mais c'est simple:

J'ai regardé dans register_sidebar() et constaté que les nouvelles barres latérales sont simplement ajoutées à un tableau: $wp_registered_sidebars

Et je suppose que c'est ça. Si jamais ils changent le nom de la variable, je suppose que je serais foutu.

21
Jonah Goldstein