Obtenga una lista de todas las barras laterales registradas


17

Estoy registrando barras laterales automáticamente para cada categoría (un espacio de widget separado por categoría). La técnica que estoy usando está aquí .

En el lado del administrador tengo una página de opciones donde necesito mostrar un menú desplegable de todas las barras laterales registradas ... ¿Hay alguna manera de obtener dinámicamente esta lista de barras laterales registradas? ya que están registrados en functions.php, supongo que están en la memoria, no en la base de datos.

Podría hacer un seguimiento de las barras laterales que registro en alguna variable global, pero en caso de que los complementos registren sus propias barras laterales, también me gustaría tenerlas en cuenta.

Examinaré el núcleo si es necesario, pero pensé que alguien podría saberlo de antemano :)

Gracias

Respuestas:


22

Hmm ... no estoy seguro de si esta es la mejor manera de hacerlo, pero es simple:

Miré register_sidebar()y descubrí que las nuevas barras laterales simplemente se agregan a una matriz:$wp_registered_sidebars

Y supongo que eso es todo. Si alguna vez cambian el nombre de la variable, supongo que estaría jodido.


44
Siempre puede acceder a través de $ GLOBALS ['wp_registered_sidebars']. En caso de que eso cambie, puede en su complemento simplemente ejecutar una búsqueda y reemplazar, y no cambió, ya que se ha introducido hasta donde puedo recordar.
Hakre
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.