Cum să dezactivezi includerea jQuery în secțiunea head în WordPress

4 feb. 2015, 03:43:12
Vizualizări: 15.6K
Voturi: 2

Am nevoie să fac ca WordPress să nu mai includă jQuery în secțiunea <head> a fiecărei pagini. Motivul pentru care am nevoie de aceasta - este pentru că deja includ jQuery chiar la finalul documentului.

Am încercat asta: wp_deregister_script('jquery') dar nu funcționează.

Cum se poate elimina jQuery din secțiunea <head>?

2
Comentarii

Cum apelezi acea funcție? Deși următoarea variantă ar putea funcționa:

function wpdocs_dequeue_script() { wp_dequeue_script( 'jquery' ); } add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );

czerspalace czerspalace
4 feb. 2015 04:01:37

A funcționat! Mulțumesc mult! Înainte am încercat doar cu wp_deregister_script('jquery') dar nu a avut niciun efect. Poți posta soluția ta ca răspuns în loc de comentariu, te rog, ca să pot să o accept.

YemSalat YemSalat
4 feb. 2015 04:08:41
Toate răspunsurile la întrebare 3
4

Înlocuirea versiunii jQuery din WordPress este în general o idee proastă. Consultă articolul lui Pippin De ce este iresponsabil să încarci propria versiune de jQuery pentru mai multe informații.

În loc să înlocuiești complet jQuery, ai putea muta versiunea furnizată în subsolul paginii. Totuși, trebuie să fii atent că acest lucru va afecta cel mai probabil modulele dacă acestea încarcă scripturi în antetul site-ului.

function themename_print_jquery_in_footer( &$scripts ) {
    // Returnează dacă site-ul este accesat din administrare sau din personalizatorul de teme
    global $wp_customize;
    if ( is_admin() || isset( $wp_customize ) ) {
        return;
    }

    $scripts->add_data( 'jquery-core', 'group', 1 );
    $scripts->add_data( 'jquery-migrate', 'group', 1 );
}
add_action( 'wp_default_scripts', 'themename_print_jquery_in_footer' );
4 feb. 2015 06:16:49
Comentarii

Mulțumesc! Cred că voi rămâne la metoda mea pentru că știu exact ce fac, dar aș încuraja pe toată lumea să folosească această soluție în schimb.

YemSalat YemSalat
4 feb. 2015 06:35:23

Tocmai am citit mai atent articolul și am realizat că majoritatea punctelor prezentate sunt de fapt incorecte.

YemSalat YemSalat
4 feb. 2015 06:48:34

Cred că aduce în discuție câteva aspecte bune de ținut minte, dar experiențele și situația ta pot varia. Cu siguranță am avut o creștere a volumului de muncă atât din cauza plugin-urilor, cât și a temelor care au înlocuit versiunea WordPress a jQuery cu versiuni proprii.

Dylan Dylan
4 feb. 2015 07:12:56

Articolul este destinat dezvoltatorilor de teme, mai degrabă decât administratorilor de site-uri. În plus, face o presupunere incorectă că neîncărcarea jQuery în modul 'noConflict' ar împiedica cumva utilizarea variabilei jQuery, ceea ce este pur și simplu fals.

YemSalat YemSalat
4 feb. 2015 07:32:55
0

următoarea soluție ar putea funcționa

function wpdocs_dequeue_script() {
        wp_dequeue_script( 'jquery' ); 
} 
add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );
4 feb. 2015 04:13:24
0
-1
<?php 
function my_jquery_remove() {
    if (!is_admin()) {
       wp_deregister_script('jquery');
       wp_register_script('jquery', false);
    }
}
add_action('init', 'my_jquery_remove'); 
?>

Te rog să încerci acest cod, funcționează corect - elimină biblioteca jQuery JS. Codul din alte răspunsuri elimină tot JS-ul.

7 oct. 2017 12:02:57