Uzyskaj listę wszystkich zarejestrowanych pasków bocznych

17

Rejestruję paski boczne automatycznie dla każdej kategorii (osobne miejsce na widżet dla każdej kategorii). Technika, której używam, jest tutaj .

Po stronie administratora mam stronę z opcjami, na której muszę wyświetlić listę rozwijaną wszystkich zarejestrowanych pasków bocznych ... Czy istnieje sposób, aby dynamicznie uzyskać tę listę zarejestrowanych pasków bocznych? ponieważ są rejestrowane w functions.php Zakładam, że są w pamięci, a nie w bazie danych.

Mogę śledzić paski boczne, które rejestruję w jakiejś zmiennej globalnej, ale na wypadek, gdyby wtyczki zarejestrowały własne paski boczne, też chciałbym je uwzględnić.

Przekopię rdzeń, jeśli będę musiał, ale pomyślałem, że ktoś może wiedzieć z ręki :)

Dzięki

Jonah Goldstein
źródło

Odpowiedzi:

22

Hmm ... Nie jestem pewien, czy to najlepszy sposób, ale to proste:

Zajrzałem register_sidebar()i odkryłem, że nowe paski boczne są po prostu przypięte do tablicy:$wp_registered_sidebars

I myślę, że to tyle. Jeśli kiedykolwiek zmienią nazwę zmiennej, myślę, że zostałbym wkręcony.

Jonah Goldstein
źródło
4
Zawsze możesz uzyskać do niego dostęp za pośrednictwem $ GLOBALS ['wp_registered_sidebars']. W przypadku tych zmian możesz w swojej wtyczce po prostu uruchomić wyszukiwanie i zamienić - i nie zmieniło się, ponieważ zostało wprowadzone o ile pamiętam.
hakre