वर्डप्रेस थीम कस्टमाइज़र बॉयलरप्लेट का विस्तार

  1. 1. वर्डप्रेस थीम कस्टमाइज़र का परिचय
  2. 2. वर्डप्रेस थीम कस्टमाइज़र के साथ बातचीत
  3. 3. वर्डप्रेस थीम कस्टमाइज़र बॉयलरप्लेट
  4. 4. इस समय पढ़ना: वर्डप्रेस थीम कस्टमाइज़र बॉयलरप्लेट का विस्तार
  5. 5. थीम कस्टमाइज़र बॉयलरप्लेट – सशर्त विकल्प, बाल थीम और प्लगइन्स

थीम कस्टमाइज़र श्रृंखला के भाग 3 ने आपको थीम कस्टमाइज़र बॉयलरप्लेट से परिचित कराया जो आपको अपने विषय विकल्पों को संभालने वाले कोड को सरल बनाने की अनुमति देता है। आपको केवल विकल्प फ़ील्ड का एक सरणी पास करना होगा और बॉयलरप्लेट पर्दे के पीछे थीम कस्टमाइज़र अनुभाग, सेटिंग्स और नियंत्रणों को दर्ज करने का ध्यान रखेगा।.


अब तक, बॉयलरप्लेट ने आपको थीम कस्टमाइज़र में टेक्स्ट फ़ील्ड, चेकबॉक्स, रेडियो बटन और फ़ील्ड का चयन करने की अनुमति दी थी, यह लेख आपको दिखाता है कि आप इसे कैसे बढ़ा सकते हैं.

नोट: आगे बढ़ने से पहले, कृपया इसके जीथॉब भंडार से वर्डप्रेस थीम कस्टमाइज़र बॉयलरप्लेट का नवीनतम संस्करण डाउनलोड करें। मैंने अंतिम ट्यूटोरियल के बाद से इसमें कुछ सुधार किए हैं, और यह महत्वपूर्ण है कि आपका कोड अप टू डेट हो। परिवर्तनों पर अधिक नोट्स के लिए पिछली पोस्ट पर एक नज़र डालें, लेकिन संक्षेप में, एक बार जब आप बॉयलरप्लेट को अपने थीम फ़ोल्डर में कॉपी कर लेते हैं, तो आपको इसकी फ़ाइलों को संपादित करने की आवश्यकता नहीं होती है – सभी संपादन फ़िल्टर और एक्शन हुक का उपयोग करके किया जाता है।.

थीम कस्टमाइज़र बॉयलरप्लेट में हुकिंग

वर्डप्रेस थीम कस्टमाइज़र बॉयलरप्लेट में कई एक्शन और फ़िल्टर हुक हैं। आप अपने थीम के फंक्शन्स में से किसी एक को हुक कर सकते हैं। फाइल का उपयोग करके ADD_ACTION तथा add_filter कार्य:

  • ‘Thsp_cbp_directory_uri’ – helpers.php में परिभाषित फ़िल्टर हुक, आपको अपने थीम फ़ोल्डर में Customizer Boilerplate का स्थान बदलने की अनुमति देता है। डिफ़ॉल्ट रूप से, बॉयलरप्लेट पथ इस तरह दिखता है – get_template_directory_uri ()। ‘/ अनुकूलक है-बॉयलरप्लेट’ – लेकिन अगर आप इसे कस्टम स्थान पर ले जाते हैं, तो यह वह हुक है जो आपकी मदद कर सकता है.
  • ‘Thsp_cbp_menu_link_text’ – helpers.php में परिभाषित फ़िल्टर हुक, आपको मेनू पाठ लिंक बदलने देता है। बॉयलरप्लेट वर्डप्रेस डैशबोर्ड में उपस्थिति के तहत एक लिंक जोड़ता है, जो उपयोगकर्ताओं को थीम कस्टमाइज़र तक आसान पहुंच प्रदान करता है। डिफ़ॉल्ट रूप से, वह लिंक “थीम कस्टमाइज़र” कहेगा और आप that thsp_cbp_menu_link_text ‘फ़िल्टर हुक का उपयोग करके पाठ को बदल सकते हैं.
  • ‘Thsp_cbp_capability’ – हेल्पर्स में परिभाषित हुक। एफपी। आपको $ wp_customize-> add_setting विधि में उपयोग की जाने वाली डिफ़ॉल्ट आवश्यक क्षमता को बदलने की अनुमति देता है.
  • ‘Thsp_cbp_option’ – हेल्पर्स में परिभाषित हुक। एफपी। यदि आप अपनी सेटिंग के तर्कों में ’विकल्प’ का उपयोग कर रहे हैं, तो इस हुक का उपयोग उस प्रविष्टि के नाम को बदलने के लिए करें जिसे आपके थीम सेटिंग मान wp_options तालिका में संग्रहीत किया जाएगा। डिफ़ॉल्ट मान value thsp_cbp_theme_options ‘है, सुनिश्चित करें कि आप इस एक में हुक करते हैं और इसे उस चीज़ में बदलते हैं जिसमें आपका थीम नाम है।.
  • ‘Thsp_cbp_options_array’ – विकल्प में परिभाषित हुक को फ़िल्टर करें। इसके अलावा, आप इसे हुक करें और डिफ़ॉल्ट विकल्प सरणी (नमूना विकल्पों से युक्त) को उन विकल्पों के साथ बदलें जो आपके थीम में उपयोग किए जाते हैं। मैं इसे दोहराऊंगा, इसे बोल्ड करूंगा और इसे रेखांकित करूंगा: Yआप इसमें हुक करें और अपने विषय में उपयोग किए जाने वाले विकल्पों के साथ डिफ़ॉल्ट विकल्प सरणी को बदलें.
  • ‘Thsp_cbp_custom_controls’ – कस्टम हुक कस्टम-कंट्रोलस्पेस में परिभाषित किया गया है, इसमें हुक करके आप अपने स्वयं के कस्टम नियंत्रण बना सकते हैं, इसे कैसे करना है, इसका एक उदाहरण देखने के लिए पढ़ते रहें।.
  • ‘Tshp_cbp_remove_sections’‘Tshp_cbp_remove_controls’ तथा ‘Tshp_cbp_remove_settings’ – customizer.php में परिभाषित फिल्टर हुक। आप उन्हें बिल्ट-इन सेक्शन, कंट्रोल या सेटिंग्स को हटाने के लिए बिल्ट-इन सेक्शन आईडी (या कंट्रोल आईडी, या सेटिंग्स आईडी) के एरेज़ पास कर सकते हैं।.

ध्यान दें: जब हम विस्तार पर हैं और अपने स्वयं के हुक बना रहे हैं, तो अन्य डेवलपर्स उन्हें आपके कोड का विस्तार करने के लिए उपयोग कर सकते हैं, यह कितना महत्वपूर्ण है, इस पर काबू पाना असंभव है। आखिर, यह कैसे वर्डप्रेस (कोर) काम करता है। और मैं धन्यवाद नहीं कर सकता एक प्रकार का सेब तथा उसके सामग्री मेरे दिमाग में यह विचार लाने के लिए पर्याप्त है.

कस्टम नियंत्रण

थीम कस्टमाइज़र का अपडेट किया गया संस्करण (जिसे आपने अभी-अभी चेक किया है;) में आपके द्वारा उपयोग किए जाने वाले कुछ और नियंत्रण हैं – टेक्स्टारिया फ़ील्ड, एचटीएमएल 5 नंबर फ़ील्ड और इमेज फ़ील्ड, जो मूल रूप से रेडियो बटन का एक फैंसी संस्करण है।.

ये कस्टम नियंत्रण कस्टम-कंट्रोलस्पेस में परिभाषित किए गए हैं, मैं यहाँ उन सभी के माध्यम से नहीं जाता, लेकिन आइए एक (HTML5 नंबर फ़ील्ड) पर एक नज़र डालें कि यह कैसे काम करता है:

/ **
* इनपुट [प्रकार = संख्या] क्षेत्र के लिए कस्टमाइज़र नियंत्रण बनाता है
*
* @since Theme_Customizer_Boilerplate 1.0
* /
वर्ग CBP_Customizer_Number_Control का विस्तार WP_Customize_Control {

सार्वजनिक $ प्रकार = 'संख्या';

सार्वजनिक समारोह रेंडर_कोन्ट () {
गूंज '';
}

}

जैसा कि आप देख सकते हैं, आपको केवल नए नियंत्रण $ प्रकार और उसके रेंडर_ कॉन्टेंट फ़ंक्शन को परिभाषित करना होगा जो थीम कस्टमाइज़र स्क्रीन में नियंत्रण को आउटपुट करता है.

कस्टम बॉयलर बॉयलरप्लेट के अंतर्निहित कस्टम नियंत्रण का उपयोग करना

यह पिछले ट्यूटोरियल में शामिल सरल क्षेत्रों के समान है, केवल एक चीज जिसकी आपको जानकारी होनी चाहिए वह है ’प्रकार’ जो आपको प्रत्येक के लिए उपयोग करने की आवश्यकता है:

  • संख्या क्षेत्र – ‘संख्या’
  • टेक्सारिया क्षेत्र – ‘पाठ क्षेत्र’
  • रेडियो बटन के रूप में कार्य करने वाली छवियां – ‘Images_radio’, आगामी निशुल्क में इस नियंत्रण का एक उदाहरण है Cazuela विषय:

थीम कस्टमाइज़र बॉयलरप्लेट

इन नए नियंत्रण प्रकारों के नाम जानना, एक को जोड़ना आसान है। यहां बताया गया है कि आप अपने सभी विकल्पों को रखने वाले सरणी में कितने फ़ील्ड नियंत्रण जोड़ सकते हैं:

/ *
* ============
* ============
* नंबर फील्ड
* ============
* ============
* /
'new_number_field' => सरणी ((
'सेटिंग_आर्ग' => सरणी (
'डिफ़ॉल्ट' => '',
'टाइप' => 'विकल्प',
'क्षमता' => $ thsp_cbp_capability,
'परिवहन' => 'ताज़ा',
),
'control_args' => सरणी (
'लेबल' => __ ('नंबर', 'my_theme_textdomain'),
'टाइप' => 'नंबर', // टेक्‍स्‍टेरिया नियंत्रण
'प्राथमिकता' => 8
)
)

ध्यान दें: यदि आप सुनिश्चित नहीं हैं कि इसे कहाँ जोड़ा जाए, तो इस श्रृंखला के भाग 3 के “सेक्शन कस्टमर्स को जोड़ने के लिए ऐच्छिक विकल्प अनुभागों, सेटिंग्स और नियंत्रणों” का उपयोग करें। इसके अलावा, options.php फ़ाइल में प्रत्येक कस्टम नियंत्रण के लिए एक नमूना है.

अपने स्वयं के कस्टम नियंत्रण जोड़ना

मुझे पहले बताए गए sp thsp_cbp_custom_controls ‘कार्रवाई हुक पर वापस जाएं:

/ **
* एक्शन हुक जो आपको अपना नियंत्रण बनाने की अनुमति देता है
* /
do_action ('thsp_cbp_custom_controls');

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

यदि आपको कभी भी अपने स्वयं के कस्टम नियंत्रण जोड़ने की आवश्यकता होती है, तो यह है कि आप यह कैसे कर सकते हैं:

फ़ंक्शन my_theme_add_customizer_boilerplate_control () {
/ **
* थीम कस्टमाइज़र बॉयलरप्लेट के साथ उपयोग करने के लिए कस्टम नियंत्रण बनाता है
* एक अद्वितीय वर्ग उपसर्ग का उपयोग करें!
*
* @since Theme_Customizer_Boilerplate 1.0
* /
वर्ग CBP_Customizer_My_Control का विस्तार WP_Customize_Control {

सार्वजनिक $ प्रकार = 'my_type'; // इसे बदलो

सार्वजनिक समारोह रेंडर_कोन्ट () {
// कंट्रोल आउटपुट यहां जाता है
}

}
}
add_action ('thsp_cbp_custom_controls', 'my_theme_add_customizer_boilerplate_control');

सुनिश्चित करें कि आप अपने कस्टम नियंत्रण वर्ग को किसी विशिष्ट चीज़ से जोड़ते हैं, इसलिए इसका नाम किसी अन्य वर्ग के साथ नहीं जुड़ा है। मैंने plate CBP_ ’(कस्टमाइज़र बॉयलरप्लेट) का उपयोग किया है – चूंकि आप किसी विषय में बॉयलरप्लेट का उपयोग कर रहे हैं, तो आपके विषय का नाम बहुत मायने रखता है और आपके लिए ठीक काम करना चाहिए.

थीम कस्टमाइज़र: आगे क्या है?

अब जब वर्डप्रेस थीम कस्टमाइज़र बॉयलरप्लेट हुक के माध्यम से एक्स्टेंसिबल है, तो हम “सशर्त थीम विकल्प” जोड़ने के लिए एक नज़र डालेंगे – जो केवल तभी दिखाई देंगे जब कोई निश्चित प्लगइन सक्रिय हो और आपको थीम कस्टमाइज़र स्क्रीन डी-क्लॉक्ड रखने में मदद करे.

Customizer Boilerplate पर अब तक आपके क्या विचार हैं? क्या आप इसे अपने विषयों में उपयोग करने की योजना बना रहे हैं? कैसे सुधार किया जा सकता है पर कोई विचार? आपकी प्रतिक्रिया का स्वागत है, हमेशा.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me