Come impedire a WordPress di caricare la libreria jQuery all'inizio della pagina
Sto sviluppando un sito che deve essere sicuro HTTPS e WordPress sta caricando <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
proprio all'inizio della mia pagina, prima del tag <html>
causando un errore di insicurezza. Non riesco a trovare da dove viene caricato per impedirne il caricamento.
Purtroppo non posso mostrare il sito poiché è un sito di una credit union federale e sarebbe contro il nostro accordo contrattuale presentare questo sito pubblicamente prima che sia completato.
Ecco uno screenshot del problema tramite gli strumenti di sviluppo di Chrome (clicca per ingrandire):
Quando creo temi, mi piace anche rendere l'header di WordPress il più pulito possibile per poi ricostruirlo secondo i miei gusti. Il codice seguente è eccessivo per la tua domanda, ma potrebbe esserti utile per altri 'codici inseriti da WordPress' in futuro. Lo snippet chiave che stai cercando è
wp_deregister_script('jquery');
wp_register_script('jquery', '', '', '', true);
Inserisci questo nel tuo file functions.php
.
La mia pulizia completa dell'header di WordPress:
/* =Pulizia dell'head di WordPress
------------------------------------------------- */
// rimuovi i link nell'header
add_action('init', 'tjnz_head_cleanup');
function tjnz_head_cleanup() {
remove_action( 'wp_head', 'feed_links_extra', 3 ); // Feed per categorie
remove_action( 'wp_head', 'feed_links', 2 ); // Feed per articoli e commenti
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 indice
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); // link precedente
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); // link iniziale
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); // Link per articoli adiacenti
remove_action( 'wp_head', 'wp_generator' ); // Versione WP
if (!is_admin()) {
wp_deregister_script('jquery'); // Deregistra jQuery
wp_register_script('jquery', '', '', '', true); // Registra come 'vuoto', perché inseriamo manualmente il nostro script in header.php
}
}
// rimuovi la versione WP dagli RSS
add_filter('the_generator', 'tjnz_rss_version');
function tjnz_rss_version() { return ''; }

Grazie, @Marc! La funzione wp_deregister_script
ha funzionato perfettamente. Non sto utilizzando nessuna delle funzionalità del tema WordPress, sto scrivendo il mio head, header, content, footer, ecc. Quindi ero confuso sul perché stesse caricando quella libreria jQuery.

@AnthoneyCarter ancora una volta, se proviene da code.jquery.com
non è WordPress ad essere responsabile. Questo semplicemente deregistra jQuery che è stato registrato altrove dal tema o da un plugin. Inoltre, sicuramente romperai cose se usi un plugin che richiede jQuery. Fare questo non è raccomandato, procedi a tuo rischio.

Puoi anche scaricare la libreria da jQuery.com e caricarla come un normale script nel tuo file functions.php e terminare wp_enqueue_script
con un parametro true
, questo stampa lo script appena prima del tag </body>
.
wp_enqueue_script('customjquery', get_template_directory_uri(). '/js/jquery.min.js', array(), '2.1.4', true);
WordPress utilizza ancora jQuery 1.qualcosa credo. Io includo jQuery separatamente perché sto usando l'ultima versione di bootstrap e voglio l'ultima versione di jQuery. Ricorda solo di aggiungere true alla tua dichiarazione
