Cum să împiedici WordPress să încarce biblioteca jQuery în partea de sus a paginii

20 mar. 2013, 23:02:08
Vizualizări: 19.7K
Voturi: 6

Dezvolt un site care trebuie să fie securizat HTTPS și WordPress încarcă <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> chiar în partea de sus a paginii mele, înainte de <html> și îmi dă o eroare de securitate. Nu pot găsi de unde este încărcat pentru a împiedica încărcarea acestuia.

Din păcate nu pot arăta site-ul deoarece este un site pentru o uniune de credit federal și ar fi împotriva acordului nostru contractual să prezint acest site public înainte de a fi finalizat.

Iată o captură de ecran a problemei prin intermediul instrumentelor de dezvoltare Chrome (click pentru zoom):

Eroare încărcare jQuery în Chrome Developer Tools

5
Comentarii

este tema ta sau un plugin, WordPress core și temele implicite nu fac asta.

Milo Milo
20 mar. 2013 23:08:13

Am dezactivat toate plugin-urile pentru a vedea dacă asta ar rezolva problema, dar nu a funcționat. Site-ul este construit pe un framework personalizat și nu am nimic acolo care să încarce acea bibliotecă. Cred că este vorba despre o problemă moștenită cu wp_enqueue_script.

Anthoney Carter Anthoney Carter
20 mar. 2013 23:15:56

nu sunt sigur ce înțelegi prin problemă moștenită cu wp_enqueue_script. WordPress încarcă propria versiune de jQuery din folderul includes, deci tema ta face ceva undeva.

Milo Milo
20 mar. 2013 23:20:11

Sunt de acord cu Milo. Dacă plugin-urile tale sunt eliminate, problema poate fi doar tema ta. Încearcă să treci la o temă standard (twentysomething). Problema dispare? Desigur că da.

vancoder vancoder
20 mar. 2013 23:46:50

Îți dai seama că URL-ul site-ului este în captura de ecran pe care ai adăugat-o?

RiddleMeThis RiddleMeThis
17 sept. 2019 23:26:02
Toate răspunsurile la întrebare 2
2
13

Când construiesc teme, îmi place să fac header-ul WordPress cât mai curat posibil și apoi să-l reconstruiesc după preferințele mele. Codul de mai jos este excesiv pentru întrebarea ta, dar te poate ajuta cu alte 'coduri inserate de WordPress' în viitor. Fragmentul cheie de cod pe care îl cauți este

wp_deregister_script('jquery'); 
wp_register_script('jquery', '', '', '', true);

Pune acest cod în fișierul tău functions.php.

Întreaga mea operațiune de curățare a header-ului WordPress:

/* =Curățarea header-ului WordPress
------------------------------------------------- */

    // elimină link-urile din header
    add_action('init', 'tjnz_head_cleanup');
    function tjnz_head_cleanup() {
        remove_action( 'wp_head', 'feed_links_extra', 3 );                      // Feed-uri pentru Categorii
        remove_action( 'wp_head', 'feed_links', 2 );                            // Feed-uri pentru Postări și Comentarii
        remove_action( 'wp_head', 'rsd_link' );                                 // Link EditURI
        remove_action( 'wp_head', 'wlwmanifest_link' );                         // Windows Live Writer
        remove_action( 'wp_head', 'index_rel_link' );                           // link index
        remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );              // link anterior
        remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );               // link de start
        remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );   // Linkuri pentru Postări Adiacente
        remove_action( 'wp_head', 'wp_generator' );                             // Versiunea WP
        if (!is_admin()) {
            wp_deregister_script('jquery');                                     // Dezînregistrează jQuery
            wp_register_script('jquery', '', '', '', true);                     // Înregistrează ca 'gol', pentru că inserăm manual scriptul în header.php
        }
    }

    // elimină versiunea WP din RSS
    add_filter('the_generator', 'tjnz_rss_version');
    function tjnz_rss_version() { return ''; }
21 mar. 2013 11:35:13
Comentarii

Mulțumesc, @Marc! Funcția wp_deregister_script a funcționat perfect. Nu folosesc nicio funcționalitate din tema Wordpress, scriu propriul head, header, content, footer, etc. De aceea am fost confuz de ce se încărca acea librărie jQuery.

Anthoney Carter Anthoney Carter
21 mar. 2013 17:23:16

@AnthoneyCarter din nou, dacă este încărcată de la code.jquery.com nu Wordpress este responsabil. aceasta este pur și simplu deregistrarea jQuery care a fost înregistrată în altă parte de către temă sau un plugin. mai mult, vei strica lucrurile dacă folosești un plugin care necesită jQuery. acest lucru nu este recomandat, folosește pe propria răspundere.

Milo Milo
21 mar. 2013 20:55:01
0

De asemenea, puteți descărca biblioteca de pe jQuery.com și să o încărcați ca un script normal în fișierul functions.php, terminând wp_enqueue_script cu parametrul true, acest lucru va afișa scriptul chiar înainte de închiderea tag-ului </body>.

wp_enqueue_script('customjquery', get_template_directory_uri(). '/js/jquery.min.js', array(), '2.1.4', true);

WordPress încă folosește jQuery 1.ceva, cred. Eu folosesc o versiune separată de jQuery pentru că utilizez cea mai recentă versiune de Bootstrap și doresc să am și ultima versiune de jQuery. Nu uitați să adăugați parametrul true în declarația dumneavoastră.

1 sept. 2015 03:48:07