2013-07-16 7 views
10

क्या वर्डप्रेस में jquery noconflict मोड बंद करने का कोई तरीका है?क्या वर्डप्रेस में jquery noconflict मोड बंद करने का कोई तरीका है?

jQuery(document).ready(function($) { 
}); 

या:

(function($) { 
})(jQuery); 

मेरा मतलब है वहाँ एक रास्ता सिर्फ jQuery Wordpress के साथ भेज दिया के लिए noConflict मोड को बंद करने के लिए है मैं या jQuery का एक वैकल्पिक संस्करण आम समाधान लोड हो रहा है मतलब यह नहीं है ?

jQuery.noConflict(false) काम की तरह सेटिंग करेगा? और यदि हां, तो आप इसे कहां सेट करेंगे?

+1

आपको [wordpress.se] पर अधिक विशेषज्ञ मिलेंगे। लेकिन, कृपया, क्रॉस-पोस्टिंग के लिए [शिष्टाचार] (http://meta.stackexchange.com/q/64068/185667) पहले देखें। संकेत: कोई भी जो समाधान या कामकाज जानता है, आपको पूछेगा * आप इसे क्यों करना चाहते हैं *। – brasofilo

उत्तर

10

, यह सबसे अच्छा जवाब मैं तुम्हें दे सकते हैं:

$ = jQuery.noConflict(true); 

अपने अन्य सवाल का जवाब करने के लिए, कोई आप झूठी में पारित नहीं हो सकता, विशेषता क्या वैश्विक करने के लिए होता नियंत्रित करने के लिए प्रयोग किया जाता है चर। आप यहां प्रलेखन पा सकते हैं: http://api.jquery.com/jQuery.noConflict/

यह भी ध्यान दें कि आप jQuery के 2 अलग-अलग संस्करण लोड कर सकते हैं जैसा कि यह सुझाता है (लेकिन अनुशंसित नहीं है)।

+0

आप कहां सेट करते हैं '$ = jQuery.noConflict (true); '? – AidanCurran

+1

@AidanCurran http: //tommaitland.net/2012/10/disabling-jquery-no-conflict-mode-in-wordpress/ – Jacksonkr

+0

jquery noconflict सेटअप होने के बाद भी आप इस कोड को सेट करेंगे लेकिन यह आपके किसी भी $ prefixed कोड से पहले होना चाहिए यदि आपका सभी कोड 1 जेएस फ़ाइल में है ... बस इसे शीर्ष पर रखें। –

0

अगर आपकी wp-includes/js/jquery/jquery.js फ़ाइल पर जाएं तो बंद करें और अंतिम पंक्ति से jQuery.noConflict() हटा दें। या जैसा कि आपने सुझाव दिया है कि बस बुलियन को झूठा सेट करें।

या आप jquery.com से क्लीन डाउनलोड के साथ सामग्री को प्रतिस्थापित कर सकते हैं, trac में एक गहन बहस चल रही है। कुछ शोध के बाद

+1

मैं उस फ़ाइल को संशोधित नहीं करना चाहता क्योंकि यह WP अपडेट के साथ ओवरराइट किया जाएगा। ट्रैक बहस के लिंक के लिए धन्यवाद, मैं इसे हटाने या इसे बेहतर बनाने के पक्ष में बेहतर हूं। – AidanCurran

+2

अच्छी तरह से यह अद्यतन पर ओवरराइट होगा लेकिन इसके अलावा ट्रैक में बहस कहती है कि इसे रोकने का कोई और तरीका नहीं है। विकल्प मैट आपको नीचे दे रहा है उसे आपकी जेएस फ़ाइल में रखा जाना है। लेकिन इसके लिए आप भी रैपर का उपयोग कर सकते हैं। मैंने (फ़ंक्शन ($) {} (jquery) जोड़ने के लिए उत्कृष्टता में एक शोर्ट टैब सेट किया है; केवल दो क्लिक में: डी – vimes1984

5

आप आप बहुत ऊपर के लिए निम्न में जोड़ सकते हैं अपने खुद के जावास्क्रिप्ट पुस्तकालय या स्क्रिप्ट भी शामिल कर रहे हैं:

var $ = jQuery; 
0

जोड़ा जा रहा है यह मेरे लिए अंत में काम किया:

var $ = jQuery.noConflict(); 

आप में इस जोड़ सकते हैं हेड सेक्शन में आपकी header.php फ़ाइल:

<script>var $ = jQuery.noConflict();</script> 

या यदि आप बच्चे की थीम का उपयोग करते हैं, तो इसे फ़ंक्शंस में जोड़ें। अपने बच्चे को विषय निर्देशिका में PHP:

function my_scripts_method() { 
    wp_enqueue_script(
     'custom-script', 
     get_stylesheet_directory_uri() . '/main.js', 
     array('jquery') 
    ); 
} 
add_action('wp_enqueue_scripts', 'my_scripts_method'); 

और functions.php रूप में एक ही स्थान में एक main.js फ़ाइल (बच्चे विषय direcotry में) बना सकते हैं और उस फ़ाइल में जोड़ें:

var $ = jQuery.noConflict(); 
2

मुझे वैरिएबल $ वैश्विक स्तर पर उपलब्ध कराने का एक और तरीका मिला।

function so17687619_jquery_add_inline() { 
    wp_add_inline_script('jquery-core', '$ = jQuery;'); 
} 
add_action('wp_enqueue_scripts', 'so17687619_jquery_add_inline'); 

हो जाएगा ताकि उत्पादन $ = jQuery; तुरंत jQuery के लिए स्क्रिप्ट टैग के बाद एक इनलाइन स्क्रिप्ट के रूप में: बस अपने विषय के functions.php में या एक प्लगइन में निम्नलिखित डाल दिया। इसलिए jQuery स्क्रिप्ट के बाद $ और jQuery के रूप में उपलब्ध किसी भी स्क्रिप्ट शामिल हैं।

संबंधित मुद्दे