WordPress
बाल थीम मूल बातें
खोज…
वाक्य - विन्यास
- टेम्पलेट -मुख्य वर्डप्रेस थीम का नाम है, जनक।
- चाइल्ड-थीम – वह पैकेज है जो टेम्पलेट को ओवरराइड करता है ।
टिप्पणियों
मैं विज्ञापन कर रहा हूं कि बाल विषय का उपयोग हमेशा एक अच्छी बात है, लेकिन हमेशा एक ...
हमारे टेम्पलेट ओवरराइटिंग उदाहरण में, आइए कल्पना करें कि किसी थीम के लेखक साइडबार टेम्पलेट में अपने स्वयं के सुधारों को जोड़ रहे हैं और यहां एक नया लेख होगा
/themes/template/sidebar.php
<?php
/**
* The template for the sidebar containing the main widget area
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*/
if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
<aside id="secondary" class="sidebar widget-area" role="complementary">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</aside><!-- .sidebar .widget-area -->
<?php endif; ?>
अब हमारी वेबसाइट नई role="complementary"
युक्ति से लाभान्वित नहीं होगी क्योंकि हमारा बच्चा विषय अभी भी /themes/child-theme/sidebar.php
पर अपनी फ़ाइल के साथ टेम्पलेट को ओवरराइट कर /themes/child-theme/sidebar.php
वेबसाइट के रखरखाव के रूप में यह हमारा कर्तव्य है कि हम किस टेम्पलेट को ओवरराइट करते हैं और अपडेट के आसन्न मामले में, चैंज में सावधानीपूर्वक देखें ताकि आप आवश्यक होने पर चाइल्ड थीम फ़ाइलों को अपडेट कर सकें।
2) उद्देश्य
मुख्य विषय के कस्टमाइज़ेशन को थीम अपडेट पर खोने के डर के बिना रखने के लिए बाल थीम एक सुरक्षित तरीका है।
मूल रूप से, जब भी आप अपनी वेबसाइट से सक्रिय टेम्पलेट के अंदर एक फ़ाइल को संपादित करना चाहते हैं तो आपको खुद से पूछना होगा " जब मैं विषय को अपडेट करूंगा तो क्या होने वाला है?"
और जवाब सरल है: आप उन्हें खो देते हैं क्योंकि अपडेट पूरी तरह से नया थीम फ़ोल्डर लाएगा ।
तो चलो एक बच्चे के विषय को फ़ाइलों के साथ एक फ़ोल्डर के रूप में देखें, जो मूल विषय में समान पथ के साथ फ़ाइलों को अधिलेखित कर देगा। अब कुछ वास्तविक उदाहरण लाते हैं:
परिभाषा और आवश्यकताएं
वर्डप्रेस द्वारा चाइल्ड थीम की पहचान तब की जाती है जब कोई निर्देशिका (उदाहरण के लिए child-theme
) अंदर /wp-content/themes/
निम्नलिखित फाइलों के साथ होती है:
style.css
यह फ़ाइल इस तरह एक टिप्पणी टेम्पलेट के साथ शुरू होनी चाहिए:
/* Theme Name: Example Child Author: Me Author URI: https://example.com/ Template: example Text Domain: example-child-theme Domain Path: /languages/ */
यहाँ पर विचार करने के लिए सबसे महत्वपूर्ण चीजें हैं:
Template
नाम बिल्कुल फ़ोल्डर नाम होना चाहिए जो मूल विषय रखता है (मूल विषय स्लग उर्फ उर्फ)अपने बच्चे के विषय को इस तरह से नाम दें कि आप इसे आसानी से डैशबोर्ड में पहचान सकें (आमतौर पर सिर्फ
Child
को माता-पिता के नाम से जोड़ते हैं, जैसेExample Child
)
index.php
functions.php
3) टेम्पलेट ओवरराइटिंग
एक बच्चे के विषय का सबसे आम उपयोग टेम्पलेट भागों को ओवरराइड करना है। उदाहरण के लिए, एक साइडबार, अगर हमारे पास निम्न फ़ाइल के साथ एक विषय है
/themes/template/sidebar.php
<?php
/**
* The sidebar containing the main widget area.
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*/
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
return;
}?>
<div id="sidebar" class="widget-area">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div>
हम निश्चित रूप से निम्नलिखित फ़ाइल के साथ बच्चे की थीम (पहले उदाहरण से विनिर्देशों के साथ) में अपनी खुद की फ़ाइल जोड़ सकते हैं
/themes/child-theme/sidebar.php
<?php
/**
* The sidebar containing the main widget area.
*/
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
return;
}?>
<div id="my-sidebar" class="my-own-awesome-class widget-area">
<div class="my-wrapper">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div>
</div>
अब my-own-awesome-class
चाइल्ड थीम में सुरक्षित है और इसे किसी भी थीम अपडेट में नहीं हटाया जाएगा और वर्डप्रेस हमेशा चाइल्ड थीम से एक टेम्प्लेट का चयन करेगा जब वह उसी रास्ते पर एक खोज करता है।
एसेट्स रिप्लेसमेंट
यहां तक कि अगर यह सबसे अच्छा अभ्यास नहीं है, तो कभी-कभी आपको सीएसएस या जेएस फाइलों या पुस्तकालयों जैसी परिसंपत्तियों को बदलने की आवश्यकता होती है।
ध्यान दें कि वर्डप्रेस टेम्प्लेट ओवरराइटिंग सिस्टम .php
फ़ाइलों के अलावा किसी और चीज के साथ काम नहीं करता है, इसलिए जब हम उन परिसंपत्तियों के बारे में बात करते हैं जो हम पंजीकृत परिसंपत्तियों का उल्लेख करते हैं
एक उदाहरण आपके इच्छित संस्करण के साथ jQuery लाइब्रेरी का प्रतिस्थापन हो सकता है। हमारे चाइल्ड थीम functions.php
फाइल में हमें एक फ़ंक्शन जोड़ने की ज़रूरत है जो वर्तमान jQuery
संस्करण को निकालता है और सीडीएन से अपना खुद का जोड़ देता है (याद रखें कि यह केवल एक उदाहरण है)।
/**
* Dequeue the jQuery script and add our own version.
*
* Hooked to the wp_print_scripts action, with a late priority (100),
* so that it is after the script was enqueued.
*/
function my_own_theme_scripts() {
// remove the current version
wp_dequeue_script( 'jquery' );
// register my desired version
wp_register_script( 'jquery', 'https://code.jquery.com/jquery-3.1.0.min.js', false, '3.1.0' );
// load my version, here or somewhere else
wp_enqueue_script( 'jquery' );
}
add_action( 'wp_print_scripts', 'my_own_theme_scripts' );