खोज…


वाक्य - विन्यास

  • टेम्पलेट -मुख्य वर्डप्रेस थीम का नाम है, जनक।
  • चाइल्ड-थीम – वह पैकेज है जो टेम्पलेट को ओवरराइड करता है

टिप्पणियों

मैं विज्ञापन कर रहा हूं कि बाल विषय का उपयोग हमेशा एक अच्छी बात है, लेकिन हमेशा एक ...

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

/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' );


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow