सभी पंजीकृत साइडबार की सूची प्राप्त करें


17

मैं प्रत्येक श्रेणी (एक अलग विजेट स्थान प्रति श्रेणी) के लिए स्वचालित रूप से साइडबार पंजीकृत कर रहा हूं। मैं जिस तकनीक का उपयोग कर रहा हूं वह यहां है

व्यवस्थापक पक्ष में मेरे पास एक विकल्प पृष्ठ है जहां मुझे सभी पंजीकृत साइडबार की एक ड्रॉपडाउन प्रदर्शित करने की आवश्यकता है ... क्या पंजीकृत साइडबार की इस सूची को गतिशील रूप से प्राप्त करने का कोई तरीका है? चूंकि वे फ़ंक्शन में पंजीकृत किए जा रहे हैं। इसलिए मुझे लगता है कि वे मेमोरी में हैं, डेटाबेस में नहीं।

मैं कुछ वैश्विक वैरिएबल में मेरे द्वारा रजिस्टर किए गए साइडबार का ट्रैक रख सकता था, लेकिन अगर प्लगइन्स अपने साइडबार को रजिस्टर करते हैं, तो मैं उनके लिए भी ध्यान देना चाहूंगा।

अगर मुझे करना है, तो मैं कोर के माध्यम से खुदाई करूँगा, लेकिन सोचा था कि किसी को पता चल सकता है :)

धन्यवाद

जवाबों:


22

हम्म ... मुझे यकीन नहीं है कि यह करने का सबसे अच्छा तरीका है, लेकिन यह सरल है:

मैंने देखा register_sidebar()और पाया कि नए साइडबार बस एक सरणी पर निपटाए जाते हैं:$wp_registered_sidebars

और मुझे लगता है कि ऐसा है। यदि वे कभी चर का नाम बदलते हैं, तो मुझे लगता है कि मैं खराब हो जाऊंगा।


4
आप इसे हमेशा $ GLOBALS ['wp_registered_sidebars'] के माध्यम से एक्सेस कर सकते हैं। उस स्थिति में, जब आप बदल सकते हैं, आप अपने प्लगइन में बस एक खोज को चला सकते हैं और बदल सकते हैं - और यह तब तक नहीं बदला है जब तक इसे पेश किया गया है जहाँ तक मुझे याद है।
हकरे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.