2009-07-21 11 views
25

मेरी WordPress साइट डाउनलोड करने के लिए थोड़ा भारी है। अग्रभाग पर, इसमें अनावश्यक रूप से jquery शामिल है।मैं अपने वर्डप्रेस के फ्रोंसाइड से jquery को कैसे हटा सकता हूं?

jquery.js?ver=1.3.2 

और

jquery.form.js?ver=2.02m 

मैं इन की जरूरत नहीं है मेरे लिए शामिल होने के लिए: मेरे फ़ायरबग में यह तरह दिखता है।

मैं उनके लिए wp-admin में रहने के लिए खुश हूं, लेकिन मैं उन्हें फ्रंटेंड पर लोड नहीं करना चाहता हूं।

मुझे वह फ़ाइल मिली है जो मुझे लगता है कि उन्हें wp-includes/script-loader.php में लोड कर रहा है, लेकिन मुझे यकीन नहीं है कि आगे बढ़ने के लिए पूरी तरह से इसे हटाने के लिए क्या करना है या क्या करना है।

क्या ऐसा करने का कोई तरीका है, पीछे की ओर बर्बाद किए बिना jquery को हटा रहा है?

उत्तर

26

JQuery आपकी थीम द्वारा जोड़ा जा सकता है। यदि आपकी थीम इसे सही तरीके से जोड़ रही है, तो इसे wp_enqueue_script() फ़ंक्शन का उपयोग करना चाहिए। JQuery को हटाने के लिए, बस wp_deregister_script() फ़ंक्शन का उपयोग करें।

wp_deregister_script('jquery'); 

आपकी संपूर्ण साइट के लिए JQuery को हटाने से आपके व्यवस्थापक अनुभाग के लिए कुछ अनपेक्षित परिणाम हो सकते हैं। अपने व्यवस्थापक पृष्ठों पर JQuery को हटाने से बचने के लिए, बजाय इस कोड का उपयोग: कि नहीं कर रहे हैं व्यवस्थापक पृष्ठों wp_deregister_script() समारोह चलेगा

if (!is_admin()) wp_deregister_script('jquery'); 

अब केवल पृष्ठों की है।

अपने विषय निर्देशिका में functions.php फ़ाइल के लिए इस कोड जोड़ें।

+2

यह अब पुराना है। कृपया नीचे मेरा समाधान देखें। – deweydb

+0

हाँ। अब और काम नहीं करता है। डेवेडब का जवाब सही है। – danielwinter

+0

लेकिन यह प्लगइन के जेएस – user25

4

अपनी थीम फ़ाइलों को देखें।

WP-सामग्री/विषयों/header.php

.js फ़ाइलों शामिल हो सकते हैं।

3

jQuery.js सिर्फ 15KB आप minified संस्करण का उपयोग कर रहे हैं, और ये पूरी तरह से अनुपस्थित हो अगर आप एक विषय है कि यह आवश्यकता नहीं है का उपयोग किया जा अगर है।

आप शायद यह हैकिंग और उसके बाद कई स्थानों पर विषय को तोड़ने देखकर क्योंकि वे उन js फ़ाइलों के लिए देख रहे हैं के बजाय jQuery के बिना एक हल्के विषय के लिए दिखना चाहिए।

+0

jQuery.js पर परीक्षण किया गया निकालता है अगर आप minified संस्करण का उपयोग मोटे तौर पर आकार की होती है ** और ** आप डेटा सेक जीजेआईपी के साथ। jQuery.form.js 22K असम्पीडित और unminified है। –

+0

15 केबी बनाम 22 केबी एक उल्लेखनीय अंतर नहीं होगा, मेथिंक। –

3

अपने प्रस्तुत पृष्ठ के स्रोत में देखें; वर्डप्रेस में अक्सर डिफ़ॉल्ट रूप से jQuery शामिल होता है जब <?php wp_head(); ?> header.php में कॉल किया जाता है, ताकि आप अपनी साइट में शामिल jQuery को देख सकें।

यदि आप header.php में <?php wp_head(); ?> हटाते हैं, तो आप उस प्लगइन कार्यक्षमता को खो सकते हैं, क्योंकि उस बिंदु पर कई प्लगइन "हुक" वर्डप्रेस में हैं।

लेकिन jQuery सहित कि एक समझौते के बड़ा नहीं है। यह छोटा है और वर्डप्रेस कुछ चीजों के लिए इस पर निर्भर करता है।

4

Wordpress एक टेम्पलेट टैग <?php wp_head(); ?> नाम है, जो सबसे अधिक विषयों में प्रकट होता है के माध्यम से इस jQuery कॉल कहते हैं, और कुछ प्लगइन्स काम करने के लिए आवश्यक है।

यह कष्टप्रद, न केवल लोड हो रहा है की वजह से हो सकता है, लेकिन क्योंकि यह पहले से भरी हुई jQuery मारने सकता है, और यहां तक ​​कि कुछ प्लग जो jQuery लोड करने के लिए और साथ ही कोशिश के रास्ते में मिल सकता है।

त्वरित सुधार अपने विषय की निर्देशिका में फ़ाइल header.php अप openning है, और जोड़ने:

<?php wp_deregister_script('jquery'); ?> 

ठीक पहले

<?php wp_head(); ?> 

या सिर्फ उन दोनों में गठबंधन:

<?php wp_deregister_script('jquery'); wp_head(); ?> 

एक और अधिक तकनीकी व्याख्या पाया जा सकता है here

1

मैं de-पंजीकरण के jQuery के आधार पर अपने "घटनाक्रम" पृष्ठ लोड गति बंद 2.2 सेकंड दाढ़ी बनाने के लिए कर रहा था। jQuery एक अच्छा है लेकिन मेरी राय में पेज की गति बहुत अधिक महत्वपूर्ण है।

आप एक उपयोगकर्ता अधिक से अधिक 5 सेकंड के लिए चारों ओर लटका है, इसलिए यदि आप jQuery प्रदर्शन की समस्याओं का कारण है कभी नहीं होगा, तो मैं छुटकारा पाने का कहना है।

26

सभी अन्य समाधान वर्डप्रेस 3,6

add_filter('wp_default_scripts', 'change_default_jquery'); 

function change_default_jquery(&$scripts){ 
    if(!is_admin()){ 
     $scripts->remove('jquery'); 
     $scripts->add('jquery', false, array('jquery-core'), '1.10.2'); 
    } 
} 
+1

को भी हटा देता है यह WP 4.1 के लिए काम करता है। धन्यवाद :) – thednp

+0

आखिर में! धन्यवाद। –

17

सही विधि के रूप में अब पुराने हो चुके हैं पूरी तरह से एक शैली को दूर करने या स्क्रिप्ट यह विपंक्ति करने और यह अपंजीकृत है। आप यह भी ध्यान रखना चाहिए कि सामने के छोर लिपियों wp_enqueue_scripts हुक के माध्यम से नियंत्रित किया जाता है, जबकि वापस अंत लिपियों admin_enqueue_scripts हुक के माध्यम से नियंत्रित किया जाता है।

तो साथ कि मन में, आपको निम्न

add_filter('wp_enqueue_scripts', 'change_default_jquery', PHP_INT_MAX); 

function change_default_jquery(){ 
    wp_dequeue_script('jquery'); 
    wp_deregister_script('jquery'); 
} 

संपादित करें 1

क्या कर सकते हैं यह पूरी तरह से Wordpress संस्करण 4.0 और उम्मीद के रूप में काम पर परीक्षण किया गया।

संपादित 2

अवधारणा के सबूत के रूप में, अपने functions.php में निम्नलिखित कोड पेस्ट करें। यह आपकी साइट के सिर में एक सफलता या विफलता संदेश प्रिंट होगा, वापस अंत और सामने के छोर

add_action('wp_head', 'check_jquery'); 
add_action('admin_head', 'check_jquery'); 
function check_jquery() { 

    global $wp_scripts; 

    foreach ($wp_scripts->registered as $wp_script) { 
     $handles[] = $wp_script->handle; 
    } 

    if(in_array('jquery', $handles)) { 
     echo 'jquery has been loaded'; 
    }else{ 
     echo 'jquery has been removed'; 
    } 
} 
+0

यह सभी प्लगइन के जेएस – user25

+0

जून 2017 को भी हटा देता है: मैंने इस उत्तर के कुछ हिस्सों को एक प्लगइन में घुमाया: https://github.com/jonathanbell/remove-jquery-wordpress-plugin – jonathanbell

1
function my_init() { 
    if (!is_admin()) { 
     wp_deregister_script('jquery'); 
     wp_register_script('jquery', false); 
    } 
} 
add_action('init', 'my_init'); 

यह सही है - jQuery पुस्तकालय js निकाल देता है। अन्य उत्तर से कोड सभी js (यहां तक ​​कि js कि आपके प्लग इन इंस्टॉल कहते हैं)

4.3.1

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