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

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

अद्यतन: यह लेख 19 फरवरी 2013 को थीम कस्टमाइज़र बॉयलरप्लेट में किए गए परिवर्तनों को प्रतिबिंबित करने के लिए संपादित किया गया है.


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

ध्यान दें: यदि आप केवल बॉयलरप्लेट का तुरंत उपयोग करते हैं, तो आप इसे जीथब से डाउनलोड कर सकते हैं और फ़ील्ड्स को $ विकल्प सरणी में बदलकर sp thsp_cbp_options_array ‘फ़िल्टर हुक में बदल सकते हैं.

हम क्या बना रहे हैं

थीम कस्टमाइज़र बॉयलरप्लेट निर्देशिका संरचना

थीम कस्टमाइज़र बॉयलरप्लेट निर्देशिका संरचना

  • customizer.php – यह मुख्य थीम कस्टमाइज़र बॉयलरप्लेट फ़ाइल है, जो विकल्प सरणी से डेटा का उपयोग करके अनुभाग, सेटिंग्स और नियंत्रण जोड़ता है
  • कस्टम controls.php – कस्टम नियंत्रण कक्षाएं और एक एक्शन हुक जो आपको अपने स्वयं के कस्टम नियंत्रण जोड़ने की अनुमति देता है
  • helpers.php – हेल्पर फ़ंक्शन, थीम विकल्प, विकल्प चूक आदि को पुनः प्राप्त करने के लिए उपयोग किया जाता है.
  • options.php – नमूना विकल्प और एक फिल्टर हुक जो आपको विकल्प सरणी को संपादित करने और अपने स्वयं के खेतों का उपयोग करने की अनुमति देता है
  • अनुकूलक है-controls.css – छवि के लिए बेसिक सीएसएस ने रेडियो कस्टम नियंत्रण को बदल दिया

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

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

/ **
* हेल्पर फ़ंक्शन जो थीम विकल्पों की सरणी रखता है.
*
* @return सरणी $ विकल्प विषय विकल्पों की सरणी
* @ thsp_get_theme_customizer_fields () कस्टमाइज़र / हेल्पर्स में परिभाषित।
* /
समारोह thsp_get_theme_customizer_fields () {

/ *
* डिफ़ॉल्ट आवश्यक क्षमता प्राप्त करने के लिए हेल्पर फ़ंक्शन का उपयोग करना
* /
$ अपेक्षित_चाह्यता = thsp_settings_page_capability ();

$ विकल्प = सरणी (


// सेक्शन आईडी
'new_customizer_section' => सरणी (

/ *
* हम जाँच रहे हैं कि क्या यह एक मौजूदा खंड है
* या एक नया जिसे पंजीकृत करने की आवश्यकता है
* /
'मौजूदा_संहिता' => असत्य,
/ *
* धारा से संबंधित तर्क
* कोडेक्स - http://codex.wordpress.org/Class_Reference/WP_Customize_Manager/add_section
* /
'args' => सरणी (
'शीर्षक' => __ ('नया अनुभाग शीर्षक', 'my_theme_textdomain'),
'विवरण' => __ ('नया अनुभाग विवरण', 'my_theme_textdomain'),
'प्राथमिकता' => 10
),

/ *
* 'फ़ील्ड्स' सरणी में वे सभी फ़ील्ड शामिल हैं जिनकी आवश्यकता है
* इस अनुभाग में जोड़ा गया
* /
'फ़ील्ड' => सरणी (

/ *
* ==========
* ==========
* पाठ का क्षेत्र
* ==========
* ==========
* /
// फ़ील्ड आईडी
'new_text_field' => सरणी (
/ *
* संबंधित तर्क निर्धारित करना
* कोडेक्स - http://codex.wordpress.org/Class_Reference/WP_Customize_Manager/add_setting
* /
'सेटिंग_आर्ग' => सरणी (
'डिफ़ॉल्ट' => __ ('डिफ़ॉल्ट पाठ मान', 'my_theme_textdomain'),
'टाइप' => 'विकल्प',
'क्षमता' => $ अपेक्षित_ सुरक्षा,
'परिवहन' => 'ताज़ा',
'sanitize_callback' => 'thsp_sanitize_cb',
),
/ *
* नियंत्रण संबंधी तर्क
* कोडेक्स - http://codex.wordpress.org/Class_Reference/WP_Customize_Manager/add_control
* /
'control_args' => सरणी (
'लेबल' => __ ('नया पाठ नियंत्रण लेबल', 'my_theme_textdomain'),
'टाइप' => 'टेक्स्ट', // टेक्स्ट फील्ड कंट्रोल
'प्राथमिकता' => 1
)
)

)

),

);

/ *
* 'thsp_customizer_options' फ़िल्टर हुक आपको करने की अनुमति देगा
* चाइल्ड थीम से इनमें से कुछ विकल्प जोड़ें / हटाएं
* /
वापसी apply_filters ('thsp_customizer_options', $ विकल्प);

}

अपडेट करें: सरणी समान रहती है, लेकिन अब आप फ़िल्टर सरणी के लिए विकल्प सरणी भी पास कर सकते हैं, अधिक जानकारी के लिए भाग 4 देखें.

पहली नजर में जटिल लगता है, मुझे पता है, लेकिन मुझे समझाने दो.

$ विकल्प सरणी में सेक्शन (s) होते हैं (केवल इस मामले में – new_customizer_section), प्रत्येक अनुभाग में यह तर्क, क्षेत्र और बूलियन मान (मौजूदा_section) है, यह इंगित करने के लिए कि क्या यह एक नया अनुभाग है, या हम सिर्फ एक मौजूदा फ़ील्ड को जोड़ रहे हैं एक. आपके द्वारा पास किए जाने पर तर्क सरणी समान है $ Wp_customize-> add_section तरीका. फ़ील्ड्स सरणी थोड़ी अधिक जटिल है.

अपडेट करें: नियंत्रण तर्क में विकल्प सरणी अब एक बहुआयामी सरणी है.

प्रत्येक फ़ील्ड में एक Customizer सेटिंग और एक Customizer नियंत्रण होता है। इसीलिए हमारे पास सेटिंग_अर्ज और control_args सरणियाँ हैं. वे लगभग उसी तरह हैं जैसे तर्क आप पास करते हैं $ Wp_customize-> add_setting तथा $ Wp_customize-> add_control तरीकों. नियंत्रण तर्क में एकमात्र अंतर ’विकल्पों की सरणी, $ wp_customize-> add_control के लिए इसे एक साधारण कुंजी => मूल्य जोड़ी सरणी की आवश्यकता है और हम इसके बजाय एक बहुआयामी सरणी का उपयोग कर रहे हैं.

इस तरह से प्रत्येक विकल्प में से अधिक डेटा को पास करना संभव है, इसलिए यदि आप, उदाहरण के लिए, अपने विषय में Google फ़ॉन्ट्स लोड कर रहे हैं, तो आप ऐसे तार ले पाएंगे जो आपको पसंद फ़ॉन्ट के अंदर सही फ़ॉन्ट लोड करने की अनुमति देते हैं । आप इसका एक उदाहरण देख सकते हैं विषय जो Customizer Boilerplate का उपयोग करता है.

इसलिए, यदि आप पहले से ही उन तीन तरीकों से अवगत हैं, तो यह बहुत परिचित है.

एक चेकबॉक्स नियंत्रण जोड़ना लगभग समान है, आपको बस ’control_args ‘सरणी में’ टाइप ‘को’ चेकबॉक्स ‘में बदलने की आवश्यकता है:

/ *
* ==============
* चेकबॉक्स क्षेत्र
* ==============
* /
'new_checkbox_field' => सरणी (
'सेटिंग_आर्ग' => सरणी (
'डिफ़ॉल्ट' => सत्य,
'टाइप' => 'विकल्प',
'क्षमता' => $ अपेक्षित_ सुरक्षा की आवश्यकता,
'परिवहन' => 'ताज़ा',
'sanitize_callback' => 'thsp_sanitize_cb',
),
'control_args' => सरणी (
'लेबल' => __ ('न्यू रेडियो कंट्रोल लेबल', 'my_theme_textdomain'),
'टाइप' => 'चेकबॉक्स', // चेकबॉक्स फ़ील्ड कंट्रोल
'प्राथमिकता' => 2
)
),

रेडियो और चुनिंदा नियंत्रण लगभग समान हैं, आपको बस दिए गए विकल्पों को निर्दिष्ट करने की आवश्यकता है:

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

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

और अंत में, दो जटिल नियंत्रण प्रकार जो वर्डप्रेस में बनाए गए हैं – फ़ाइल अपलोड और छवि अपलोड:

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

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

ध्यान दें कि मैंने इस्तेमाल किया ‘प्रकार’ => ‘विकल्प’ इन सभी क्षेत्रों के लिए तर्क प्रस्तुत करने में। यह आपके डेटाबेस में सभी मानों को एक मूल्य के रूप में संग्रहीत करने की अनुमति देगा। विकल्प है ‘टाइप ‘=>‘ theme_mod’ लेकिन अभी के लिए stick विकल्प के साथ छड़ी दें ’.

कस्टमाइज़र अनुभागों, सेटिंग्स और नियंत्रणों को जोड़ने के लिए विकल्प सरणी का उपयोग करना

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

समारोह thsp_cbp_customize_register ($ wp_customize) {

/ **
* कस्टम नियंत्रण
* /
आवश्यकता है (dirname (__ FILE__)। '/ custom-controls.php');


/ *
* एक सहायक फ़ंक्शन का उपयोग करके सभी फ़ील्ड प्राप्त करें
* /
$ thsp_sections = thsp_cbp_get_fields ();


/ *
* डीबी प्रविष्टि का नाम प्राप्त करें जिसके तहत विकल्प संग्रहीत किए जाएंगे
* /
$ thsp_cbp_option = thsp_cbp_option ();


/ **
* सरणी के माध्यम से लूप करें और कस्टमाइज़र अनुभाग जोड़ें
* /
foreach ($ thsp_sections as $ thsp_section_key => $ thsp_section_value) {

/ **
* यदि आवश्यक हो तो कस्टमाइज़र अनुभाग जोड़ता है
* /
अगर ($ thsp_section_value ['मौजूदा_साल']) {

$ thsp_section_args = $ thsp_section_value ['args'];

// अनुभाग जोड़ें
$ Wp_customize-> add_section (
$ thsp_section_key,
$ thsp_section_args
);

} // अगर अंत

/ *
* प्रत्येक अनुभाग में 'फ़ील्ड्स' सरणी के माध्यम से लूप
* सेटिंग्स और नियंत्रण जोड़ें
* /
$ thsp_section_fields = $ thsp_section_value ['फ़ील्ड'];
foreach ($ thsp_section_fields as $ thsp_field_key => $ thsp_field_key_ue) {

/ *
* जांचें कि क्या विकल्प को स्टोर करने के लिए 'विकल्प' या 'थीम_मॉड' का उपयोग किया जाता है
*
* यदि कुछ भी सेट नहीं किया गया है, तो $ wp_customize-> add_setting विधि 'theme_mod' पर डिफ़ॉल्ट हो जाएगी
* यदि 'विकल्प' का उपयोग सेटिंग के रूप में किया जाता है, तो इसका मूल्य एक प्रविष्टि में संग्रहीत किया जाएगा
{{उपसर्ग} _options तालिका। विकल्प का नाम thsp_cbp_option () फ़ंक्शन द्वारा परिभाषित किया गया है
* /
if (isset ($ thsp_field_value ['setting_args'] ['प्रकार']] और& 'विकल्प' == $ thsp_field_value ['सेटिंग_आर्ग'] ['प्रकार']] {
$ setting_control_id = $ thsp_cbp_option। '['। $ thsp_field_key ']';
} अन्य {
$ सेटिंग_कंट्रोल_िड = $ thsp_field_key;
}

/ *
* डिफ़ॉल्ट कॉलबैक फ़ंक्शन जोड़ें, यदि कोई भी परिभाषित नहीं है
* /
अगर (isset ($ thsp_field_value ['setting_args'] ['sanitize_cb'])) {
$ thsp_field_value ['setting_args'] ['sanitize_cb'] = 'thsp_cbp_sanitize_cb';
}

/ **
* Customizer सेटिंग्स जोड़ता है
* /
$ Wp_customize-> add_setting (
$ setting_control_id,
$ Thsp_field_value [ 'setting_args']
);

/ **
* कस्टमाइज़र नियंत्रण जोड़ता है
*
* 'अनुभाग' मान को 'control_args' सरणी में जोड़ा जाना चाहिए
* इसलिए नियंत्रण को वर्तमान अनुभाग में जोड़ा जा सकता है
* /
$ thsp_field_value ['control_args'] ['अनुभाग'] = $ thsp_section_key;

/ *
* $ wp_customize-> add_control विधि को एक सरल कुंजी => मूल्य जोड़ी होने के लिए 'विकल्प' की आवश्यकता होती है
* /
अगर (isset ($ thsp_field_value ['control_args'] ['विकल्प'])) {
$ thsp_cbp_choices = array ();
foreach ($ thsp_field_value ['control_args'] ['विकल्प'] $ thsp_cbp_choice_key => $ thsp_cbp_choice_value) के रूप में {
$ thsp_cbp_choices [$ thsp_cbp_choice_key] = $ thsp_cbp_choice_value ['लेबल'];
}
$ thsp_field_value ['control_args'] ['विकल्प'] = $ thsp_cbp_choices;
}


// कंट्रोल टाइप चेक करें
यदि ('रंग' == $ thsp_field_value ['control_args'] ['प्रकार']] {
$ Wp_customize-> add_control (
नया WP_Customize_Color_Control (
$ wp_customize,
$ setting_control_id,
$ Thsp_field_value [ 'control_args']
)
);
} अन्य ('छवि' == $ thsp_field_value ['control_args'] ['प्रकार]] {
$ Wp_customize-> add_control (
नया WP_Customize_Image_Control (
$ wp_customize,
$ setting_control_id,
$ Thsp_field_value [ 'control_args']
)
);
} पर्सिफ़ ('अपलोड' == $ thsp_field_value ['control_args'] ['टाइप]] {
$ Wp_customize-> add_control (
नया WP_Customize_Upload_Control (
$ wp_customize,
$ setting_control_id,
$ Thsp_field_value [ 'control_args']
)
);
} अन्य {
$ Wp_customize-> add_control (
$ setting_control_id,
$ Thsp_field_value [ 'control_args']
);
}

} // एंड फोरच

} // एंड फोरच

}
add_action ('अनुकूलित_रजिस्टर', 'thsp_cbp_customize_register');

सभी अनुभागों के माध्यम से जाना, जो पहले से मौजूद नहीं हैं उन्हें जोड़ना, फिर प्रत्येक अनुभाग में सभी क्षेत्रों से गुजरना, प्रत्येक के लिए एक सेटिंग और एक नियंत्रण जोड़ना। यह सब यहाँ चल रहा है.

याद रखें कि हमने सभी सेटिंग के लिए ’टाइप> =>‘ विकल्प का उपयोग किया है? इसलिए अब हमारे पास है “My_theme_options [$ thsp_field_key]” दोनों सेटिंग्स और वर्गों के लिए। यह सभी मानों को एक क्रमबद्ध सरणी के रूप में संग्रहीत करेगा जिसे आप उपयोग करके पुनः प्राप्त कर सकते हैं get_option (‘my_theme_options ‘). या आप केवल परिभाषित सहायक कार्यों का उपयोग कर सकते हैं helpers.php सभी क्षेत्रों के लिए वर्तमान मान और डिफ़ॉल्ट मान दोनों प्राप्त करने के लिए:

/ **
* विकल्प मान प्राप्त करें
*
* ऐरे कि सभी विकल्प मान रखते हैं
* यदि उपयोगकर्ता ने कोई मान निर्दिष्ट नहीं किया है तो विकल्प के डिफ़ॉल्ट मान का उपयोग किया जाता है
*
* @use thsp_get_theme_customizer_defaults () /customizer/optical.pp में परिभाषित
* सभी विकल्पों के लिए वर्तमान मान @return
* @since Theme_Customizer_Boilerplate 1.0
* /
समारोह thsp_cbp_get_options_values ​​() {

// विकल्प चूक प्राप्त करें
$ विकल्प_डेफ़ल्ट्स = thsp_cbp_get_options_defaults ();

// डिफ़ॉल्ट के साथ संग्रहीत विकल्पों को पार्स करें
$ thsp_cbp_options = wp_parse_args (get_option (thsp_cbp_option (), array ()), $ option_defaults);

// पार्स की गई सरणी लौटाएं
$ thsp_cbp_options लौटाएं;

}


/ **
* विकल्प चूक प्राप्त करें
*
* एक सरणी देता है जो सभी विकल्पों के लिए डिफ़ॉल्ट मान रखता है
*
* @use thsp_get_theme_customizer_fields () /customizer/options.xp में परिभाषित
* @return सरणी $ thsp_option_defaults सभी विकल्पों के लिए डिफ़ॉल्ट मान
* @since Theme_Customizer_Boilerplate 1.0
* /
समारोह thsp_cbp_get_options_defaults () {

// वह थीम प्राप्त करें जो सभी थीम विकल्प फ़ील्ड रखती है
$ thsp_sections = thsp_cbp_get_fields ();

// सभी थीम विकल्पों के लिए डिफ़ॉल्ट मान रखने के लिए सरणी को आरम्भिक करें
$ thsp_option_defaults = array ();

// विकल्प पैरामीटर सरणी के माध्यम से लूप
foreach ($ thsp_sections as $ thsp_section) {

$ thsp_section_fields = $ thsp_section ['फ़ील्ड'];

foreach ($ thsp_section_fields as $ thsp_field_key => $ thsp_field_key_ue) {

// पैरामीटर सरणी में प्रत्येक विकल्प के लिए चूक सरणी में एक साहचर्य सरणी कुंजी जोड़ें
अगर (isset ($ thsp_field_value ['setting_args'] ['डिफ़ॉल्ट'])) {
$ thsp_option_defaults [$ thsp_field_key] = $ thsp_field_value ['setting_args'] ['डिफ़ॉल्ट'];
} अन्य {
$ thsp_option_defaults [$ thsp_field_key] = false;
}

}

}

// डिफॉल्ट्स ऐरे लौटें
$ thsp_option_defaults लौटाएं;

}

केवल एक और बात जिसका मुझे उल्लेख करना चाहिए – स्वच्छता कॉलबैक फ़ंक्शन जिसे हमने one सेटिंग_ग्रास ’सरणी में निर्दिष्ट किया है। फ़ंक्शन को .php में परिभाषित किया गया है और बस के माध्यम से डेटा चलाता है wp_kses_post समारोह:

/ **
* थीम कस्टमाइज़र सैनिटाइजेशन कॉलबैक फ़ंक्शन
* /
फ़ंक्शन thsp_sanitize_cb ($ इनपुट) {

वापसी wp_kses_post ($ इनपुट);

}

कहाँ से यहाँ तक?

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

चूँकि आपका विषय “अधिकांश विषयों की तरह” नहीं है, इसलिए अगले सप्ताह हम देखेंगे कि बॉयलर फ़िल्टर को अपने फ़िल्टर और एक्शन ब्रेक का उपयोग करके कैसे बढ़ाया जाए.

मुझे यह सुनना अच्छा लगेगा कि आपको कैसे लगता है कि इस बॉयलरप्लेट में सुधार या विस्तार किया जा सकता है, इसलिए कृपया टिप्पणियों में आग लगा दें.

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