द स्विचर फ़ील्ड एलिमेंटर के परिचित हाँ/नहीं टॉगल को एक कस्टम विजेट में डालता है पैनल में एक झटका और एक बैज दिखाई देता है, एक लेआउट कसता है, या मार्कअप स्विच का एक पूरा ब्लॉक बंद हो जाता है मास्टर एडॉन्स के अंदर विजेट बिल्डर, स्विचर विजेट के किसी भी हिस्से को वैकल्पिक बनाने का मानक तरीका है।
स्विचर सबसे आम स्रोत फ़ील्ड है शर्तों: यह स्टोर करता है yes जब चालू हो, तो अन्य नियंत्रण इसके आधार पर दिखा या छिपा सकते हैं सामने के छोर पर, द ट्विग-सिंटैक्स टेम्पलेट इंजन आपको मार्कअप लपेटने देता है {% if my_toggle %} तो टॉगल आउटपुट को भी नियंत्रित करता है दोनों गाइड सेटअप और सीमाओं को कवर करते हैं।
इसका मूल्य जानबूझकर सरल है: एक स्ट्रिंग की तरह yes जब टॉगल चालू होता है, तो बंद होने पर एक खाली स्ट्रिंग होती है वह सीधे टेम्पलेट सशर्त पर मैप करता है व्यवहार में, लगभग हर स्विचर एक में लिपटे समाप्त होता है {% if %} अन्य नियंत्रणों की शर्तों को ब्लॉक करना या चलाना।
स्विचर फ़ील्ड क्या करता है #
- रेंडर एलिमेंट का विजेट पैनल में चालू/बंद टॉगल, आपके अपने ऑन/ऑफ लेबल के साथ।
- एक कॉन्फ़िगर करने योग्य स्ट्रिंग लौटाता है (डिफ़ॉल्ट)
yes) जब चालू हो, और बंद होने पर एक खाली स्ट्रिंग। - ड्राइव
{% if %}टेम्पलेट में ब्लॉक, इसलिए मार्कअप केवल तभी प्रस्तुत करता है जब टॉगल चालू होता है। - उदाहरण के लिए, सीएसएस कक्षाओं को इनलाइन स्विच करता है
class="card {% if compact_mode %}is-compact{% endif %}". - के लिए सामान्य ड्राइवर के रूप में कार्य करता है शर्तों अन्य क्षेत्रों पर, नियंत्रणों के पूरे समूह दिखाना या छिपाना।
अपना पहला विजेट बनाना? से शुरू करें विजेट बिल्डर अवलोकन, फिर यहाँ वापस आओ।
इससे पहले कि आप शुरू करें #
- वर्डप्रेस साथ तत्व स्थापित और सक्रिय।
- एलिमेंट के लिए मास्टर ऐडऑन स्थापित और सक्रिय प्लगइन के लिए नया? देखना स्थापना गाइड.
- विजेट बिल्डर संपादक में एक कस्टम विजेट खुला हमारा उदाहरण एक मूल्य निर्धारण कार्ड विजेट है जिसका नाम स्विचर है
show_badgeइससे कार्ड पर “Popular” रिबन का पता चलता है।
स्विचर फ़ील्ड कैसे जोड़ें #
खींचना स्विचर फ़ील्ड पैनल से नीचे एक अनुभाग में फ़ील्ड करें सामग्री या शैली टैब इसके विकल्प लैंड करते ही बाईं ओर खुल जाते हैं।
स्विचर फ़ील्ड विकल्प समझाया गया #
- लेबलः एलिमेंटर में टॉगल के बगल में दिखाया गया पाठ, उदाहरण के लिए “बैजबेग दिखाएं।
- नाम: आपके टेम्प्लेट जिस विशिष्ट पहचानकर्ता को संदर्भित करते हैं। उदाहरण के लिए, केवल अक्षर, संख्याएँ और अंडरस्कोर
show_badge. - लेबल ऑन/लेबल ऑफः टॉगल पर लघु पाठ, डिफ़ॉल्ट रूप से “Yes” और “No”।
- वापसी मूल्यः क्षेत्र जिस डोरी को पकड़े रहता है, जबकि पर
yesडिफ़ॉल्ट रूप से इसे बदलें जब आपका टेम्पलेट या स्क्रिप्ट एक विशिष्ट स्ट्रिंग की अपेक्षा करता है। - डिफ़ॉल्टः टॉगल चालू करने के लिए इसे रिटर्न वैल्यू पर सेट करें; शुरू करने के लिए इसे खाली छोड़ दें।
ध्यान दें कि टॉगल शुरू करने के लिए डिफ़ॉल्ट और रिटर्न वैल्यू का बिल्कुल मिलान होना चाहिए। यदि आप रिटर्न वैल्यू बदलते हैं enabled लेकिन डिफ़ॉल्ट को यहीं छोड़ दें yes, टॉगल बंद होने पर विजेट अंदर चला जाता है और कोई त्रुटि आपको इसका कारण नहीं बताती है।
स्विचर को {% यदि %} ब्लॉक से कनेक्ट करें #
स्विचर एक टोकन फ़ील्ड है, लेकिन आप शायद ही कभी अपने टोकन को अपने आप प्रिंट करते हैं ऑफ का मतलब खाली स्ट्रिंग है, और एक खाली स्ट्रिंग टेम्पलेट तर्क में गलत है, इसलिए प्राकृतिक पैटर्न एचटीएमएल पैनल में एक सशर्त हैः
{% if show_badge %}
<span class="pc-badge">Popular</span>
{% endif %}टॉगल करें, बैज रेंडर करता है टॉगल करें, मार्कअप पूरी तरह से गायब हो जाता है, कोई खाली रैपर पीछे नहीं छोड़ता वही पैटर्न अतिरिक्त मार्कअप के बिना कक्षाओं को स्विच करता हैः
<article class="pc-card {% if compact_mode %}is-compact{% endif %}">स्विचर का दूसरा काम गाड़ी चलाना है शर्तोंविजेट में किसी भी क्षेत्र को केवल स्विचर चालू होने पर ही प्रदर्शित होने के लिए सेट किया जा सकता है, इसलिए टॉगल करने से “शो बैज” एक बैज टेक्स्ट फ़ील्ड और पैनल में एक बैज रंग नियंत्रण भी प्रकट कर सकता है जो पैनल को तब तक छोटा रखता है जब तक कि विकल्प वास्तव में उपयोग में न हो।
सावधान रहें: यदि आप स्पष्ट रूप से मान की तुलना करते हैं, तो रिटर्न वैल्यू स्ट्रिंग से तुलना करें, लेबल से नहीं। {% if show_badge == 'yes' %} डिफ़ॉल्ट रिटर्न मान से मेल खाता है; {% if show_badge == 'Yes' %} कभी मेल नहीं खाता, क्योंकि “Yes” केवल टॉगल का डिस्प्ले टेक्स्ट है। नंगे सच, {% if show_badge %}, मुद्दे को दरकिनार कर देता है।
एलिमेंटर में स्विचर नियंत्रण का उपयोग करें #
एलिमेंटर में एक पृष्ठ पर अपना कस्टम विजेट जोड़ें (यदि पृष्ठ पहले से ही खुला था तो संपादक को पुनः लोड करें) स्विचर आपके लेबल के तहत मानक एलिमेंटर टॉगल के रूप में दिखाता है इसे क्लिक करें और पूर्वावलोकन तुरंत अपडेट हो जाता है; इस पर वातानुकूलित कोई भी फ़ील्ड एक ही समय में पैनल में दिखाई देती है या गायब हो जाती है।
सामान्य उपयोग के मामले #
- वैकल्पिक बैज और रिबन ताश के पत्तों पर, एक में लिपटा हुआ
{% if %}ब्लॉक। - लेआउट वेरिएंट एक कॉम्पैक्ट मोड की तरह, एक संशोधक वर्ग के रूप में लागू किया जाता है।
- अनुभाग दिखाएँ/छुपाएँ जैसे कि एक पाद लेख नोट, एक आइकन, या एक द्वितीयक बटन।
- स्क्रिप्ट के लिए फ़ीचर स्विच, जहां जेएस पैनल ऑटोप्ले या एनीमेशन को सक्षम करने के लिए मान पढ़ता है।
- पैनल गेटकीपिंग, संबंधित नियंत्रणों के समूह को केवल तभी प्रकट करना जब उनकी सुविधा चालू हो।
स्विचर क्षेत्र के साथ काम करने के लिए युक्तियाँ #
- लेबल नहीं सत्यता का परीक्षण करें।
{% if show_badge %}क्या अधिकांश टेम्प्लेट की आवश्यकता है; चालू स्थिति एक गैर-रिक्त स्ट्रिंग है और बंद स्थिति खाली है। - पूरे वैकल्पिक ब्लॉक को लपेटें। डाल दिया
{% if %}संपूर्ण मार्कअप के चारों ओर, रैपर शामिल है, इसलिए एक ऑफ टॉगल रिक्ति को तोड़ने के लिए कोई खाली तत्व नहीं छोड़ता है। - जानबूझकर डिफ़ॉल्ट। अधिकांश साइटें जो सुविधाएँ चाहती हैं, उन्हें अतिरिक्त सुविधाओं के लिए टॉगल चालू करें (डिफ़ॉल्ट = रिटर्न वैल्यू)।
- इसे शर्तों के साथ जोड़ें। एक स्विचर प्लस दो या तीन वातानुकूलित फ़ील्ड पैनल में हमेशा दिखाई देने वाले पांच नियंत्रणों की तुलना में कहीं बेहतर पढ़ते हैं।
- इसे एक प्रश्न के रूप में नाम दें जिसका उत्तर टॉगल देता है।
show_badgeऔरcompact_modeअंदर स्वाभाविक रूप से पढ़ें{% if %}ब्लॉकों।
अक्सर पूछे जाने वाले प्रश्न #
मास्टर एडॉन्स विजेट बिल्डर में स्विचर फ़ील्ड क्या है?
स्विचर फ़ील्ड एलिमेंटर के ऑन/ऑफ टॉगल को कस्टम विजेट में जोड़ता है। चालू होने पर, यह अपनी रिटर्न वैल्यू स्ट्रिंग रखता है (yes डिफ़ॉल्ट रूप से); बंद होने पर, यह एक खाली स्ट्रिंग रखता है। टेम्प्लेट आमतौर पर वैकल्पिक मार्कअप को लपेटते हैं {% if field_name %} ... {% endif %} उस पर प्रतिक्रिया करने के लिए।
स्विचर वास्तव में क्या मूल्य संग्रहीत करता है?
एक स्ट्रिंग ऑन का मतलब है कि आपके द्वारा कॉन्फ़िगर किया गया रिटर्न वैल्यू, ऑफ का मतलब एक खाली स्ट्रिंग है कोई सही/गलत बूलियन नहीं है, यही कारण है कि स्पष्ट तुलनाओं को रिटर्न वैल्यू से बिल्कुल मेल खाना चाहिए।
टॉगल चालू होने पर ही मैं मार्कअप कैसे दिखाऊं?
इसे एचटीएमएल पैनल में एक सशर्त में लपेटेंः {% if show_badge %}<span class="badge">Popular</span>{% endif %}। टॉगल बंद होने पर ब्लॉक कुछ भी प्रस्तुत नहीं करता है।
क्या स्विचर पैनल में अन्य फ़ील्ड दिखा या छिपा सकता है?
हाँ, और यह उसके लिए सबसे आम ड्राइवर है सेट करें शर्तों स्विचर के मूल्य की आवश्यकता के लिए किसी अन्य क्षेत्र पर, और वे नियंत्रण एलिमेंटर में केवल टॉगल चालू होने पर दिखाई देते हैं।
मेरा {% यदि show_badge == 'हाँ' %} चेक कभी पास क्यों नहीं होता?
क्योंकि “Yes” टेक्स्ट पर टॉगल का लेबल है, न कि उसका मान। [+] yes डिफ़ॉल्ट रूप से लोअरकेस में उस के खिलाफ तुलना करें, या बस का उपयोग करें {% if show_badge %}.
क्या मैं बदल सकता हूं कि फ़ील्ड कब वापस आती है?
हां, रिटर्न वैल्यू विकल्प के माध्यम से यह तब उपयोगी होता है जब जेएस पैनल एक विशिष्ट ध्वज स्ट्रिंग की अपेक्षा करता है, या जब आप सीधे डेटा विशेषता में मान प्रिंट करते हैं।
लपेटकर #
विजेट बिल्डर स्विचर फ़ील्ड व्यापक पहुंच के साथ सबसे छोटा नियंत्रण है: एक टॉगल मार्कअप जोड़ सकता है, कक्षाओं को स्वैप कर सकता है, और पैनल को शर्तों के माध्यम से एक बार में फिर से आकार दे सकता है इसे एक के साथ जोड़ दें संख्या फ़ील्ड ट्यून करने योग्य सुविधाओं के लिए या ए पुनरावर्तक क्षेत्र यह किसके वैकल्पिक अतिरिक्त का खुलासा करता है बाकी का अन्वेषण करें मास्टर ऐडऑन विजेट और एक्सटेंशन, और देखें मूल्य निर्धारण पृष्ठ प्रत्येक योजना में क्या शामिल है।