get_template_directory_uri मूल विषय की ओर इशारा करते हुए बाल विषय नहीं


35

मुझे जो समस्या हो रही है वह यह है कि get_template_directory_uri मूल विषय की तरह इंगित कर रहा है site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php

लेकिन मैं चाहता हूं कि यह मेरे बच्चे के विषय की ओर इशारा करे site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php

मैं जो उपयोग कर रहा हूं वह है include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');

जवाबों:


70

get_template_directory_uri() हमेशा वर्तमान मूल विषय का URI लौटाएगा।

इसके बजाय बच्चे के विषय URI प्राप्त करने के लिए, आपको उपयोग करने की आवश्यकता है get_stylesheet_directory_uri()

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


यदि आप एक निरंतर उपयोग करना पसंद करते हैं, तो TEMPLATEPATHकॉल करने के लिए get_template_directory()(यानी मूल विषय) है, और STYLESHEETPATHकॉल करने के लिए get_stylesheet_directory()(यानी बच्चे विषय) के समान है।

ये स्थिरांक वर्डप्रेस कोर द्वारा सेट किए गए हैं wp-includes/default-constants.phpऔर मूल रूप से इस तरह दिखते हैं:

define('TEMPLATEPATH', get_template_directory());
...
define('STYLESHEETPATH', get_stylesheet_directory());

यदि कोई बाल विषय नहीं है, तो 'टेम्पलेट' और 'स्टाइलशीट' दोनों प्रकार्य फ़ंक्शन मूल विषय स्थान को वापस कर देंगे।

इन कार्यों और समाप्त होने वाले कार्यों के बीच अंतर पर ध्यान दें _uri- ये निरपेक्ष सर्वर पथ (जैसे। /home/example/public_html/wp-content/yourtheme) _uriलौटाएंगे , जबकि फ़ंक्शन सार्वजनिक पता (उर्फ URL) - जैसे वापस कर देंगे। http://example.com/wp-content/themes/yourtheme


क्या शामिल हैं (TEMPLATEPATH। '/myGallery/gallery_functions_include.php)); यह भी मूल निर्देशिका में जाता है
एल्रो फर्नांडिस

@ElroyFernandes मैंने इसे अपने उत्तर में जोड़ा है। STYLESHEETPATH ​​वह स्थान है जो आप इसके बजाय चाहते हैं
टिम मालोन

2
केवल RTM कहने के बजाय प्रश्न का उत्तर देने के लिए धन्यवाद। यह मेरे खोज परिणामों में सबसे पहले आया।
रिनोगो

2
वर्डप्रेस की ओर से अच्छा उत्तर लेकिन बुरा नामकरण - यह सिर्फ स्टाइलशीट के लिए नहीं है, यह जेएस, संपत्ति, आदि के लिए है
पॉल फेकिन्स

1
@PaFFeakins वर्डप्रेस में नामकरण की विसंगतियों पर शुरू नहीं होता है - यह एक लंबी और घुमावदार सड़क है, जो जानती है कि कहाँ है! ;)
टिम मेलोन

0

आपको अपने कस्टम टेम्प्लेट को स्थानांतरित करना चाहिए, जिन्हें सक्रिय विषय द्वारा नियंत्रित नहीं किया जाता है, एक बाल फ़ोल्डर में।

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

आपकी आउट-ऑफ-द-बॉक्स थीम यहां रहती है
------------------------------------
\\ साइट \ WP-सामग्री \ विषयों \ some_theme
आपका बाल विषय यहाँ रहता है
---------------------------
\\ साइट \ WP-सामग्री \ विषयों \ some_theme वाले बच्चे

आपकी कस्टम शैलियाँ और टेम्प्लेट और आपके सभी चीज़ों में (कस्टम javascript जैसी चीज़ें, WP, कस्टम फोंट, json डेटा फ़ाइल्स, और आपके द्वारा ग्रहण किए जा सकने वाले किसी भी प्लग इन) को थीम के बाल फ़ोल्डर OUTSIDE में ले जाया जाना चाहिए।

\ विषयों \ some_theme
\ themes \ some_theme-child \ (आपके सभी कस्टम php टेम्पलेट फ़ाइलें यहाँ)
\ विषयों \ some_theme वाले बच्चे \ छवियों
\ विषयों \ some_theme वाले बच्चे शामिल है \ 
\ विषयों \ some_theme वाले बच्चे \ भाषाओं
\ विषयों \ some_theme वाले बच्चे \ json 
\ विषयों \ some_theme वाले बच्चे \ शैली

अपने कस्टम स्टाइल पेजों के लिए ( थीम की ओवरराइड नहीं शैली । एससीएस ) wp_enqueue_style ('some-css', get_stylesheet_directory () । '/style/some.css', false, '0.0.1', 'all') के साथ संलग्न करें।

अपने xhr कॉल आदि के साथ get_stylesheet_directory_uri () का उपयोग करें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.