Dapatkan daftar semua bilah samping yang terdaftar

17

Saya mendaftarkan bilah samping secara otomatis untuk setiap kategori (ruang widget terpisah per kategori). Teknik yang saya gunakan ada di sini .

Di sisi admin saya memiliki halaman opsi di mana saya perlu menampilkan dropdown dari semua sidebar yang terdaftar ... Apakah ada cara untuk secara dinamis mendapatkan daftar sidebars yang terdaftar ini? karena mereka terdaftar di functions.php saya berasumsi mereka ada di memori, bukan di database.

Saya bisa melacak bilah sisi yang saya daftarkan di beberapa variabel global, tetapi kalau-kalau plugin mendaftarkan bilah sisi mereka sendiri, saya juga ingin menjelaskannya.

Saya akan menggali inti jika saya harus, tetapi berpikir seseorang mungkin tahu langsung :)

Terima kasih

Jonah Goldstein
sumber

Jawaban:

22

Hmm ... Saya tidak yakin apakah ini cara terbaik untuk melakukannya tetapi sederhana:

Saya melihat ke dalam register_sidebar()dan menemukan bahwa sidebar baru hanya ditempelkan ke array:$wp_registered_sidebars

Dan saya kira itu itu. Jika mereka pernah mengubah nama variabel, saya kira saya akan kacau.

Jonah Goldstein
sumber
4
Anda selalu dapat mengaksesnya melalui $ GLOBALS ['wp_registered_sidebars']. Jika itu berubah, Anda dapat di plugin Anda hanya menjalankan pencarian dan ganti - dan itu tidak berubah karena telah diperkenalkan sejauh yang saya ingat.
hakre