Cómo evitar que WordPress cargue la biblioteca jQuery en la parte superior de la página

20 mar 2013, 23:02:08
Vistas: 19.7K
Votos: 6

Estoy desarrollando un sitio que debe ser seguro HTTPS y WordPress está cargando <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> en la parte superior de mi página, antes de <html> y generando un error de inseguridad. No puedo encontrar desde dónde se está cargando para evitar que se cargue.

Desafortunadamente no puedo mostrar el sitio ya que es un sitio de una cooperativa de crédito federal y estaría en contra de nuestro acuerdo contractual presentar este sitio públicamente antes de que esté completo.

Aquí hay una captura de pantalla del problema a través de las herramientas de desarrollo web de Chrome (haz clic para ampliar):

Herramientas de desarrollo de Chrome mostrando error de carga de jQuery

5
Comentarios

es tu tema o un plugin, el núcleo de WordPress y los temas predeterminados no hacen eso.

Milo Milo
20 mar 2013 23:08:13

He desactivado todos mis plugins para ver si eso lo solucionaba pero no fue así. El sitio está construido sobre un framework personalizado y no tengo nada que cargue esa biblioteca. Creo que es algún tipo de problema heredado con wp_enqueue_script.

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

no estoy seguro de lo que quieres decir con un problema heredado de wp_enqueue_script. WordPress carga su propia versión de jQuery desde la carpeta includes, así que tu tema está haciendo algo en algún lugar.

Milo Milo
20 mar 2013 23:20:11

Estoy de acuerdo con Milo. Si tus plugins están eliminados, solo puede ser tu tema. Intenta cambiar a un tema estándar (twentysomething). ¿Desaparece el problema? Claro que sí.

vancoder vancoder
20 mar 2013 23:46:50

¿Te das cuenta de que la URL del sitio está en la captura de pantalla que agregaste?

RiddleMeThis RiddleMeThis
17 sept 2019 23:26:02
Todas las respuestas a la pregunta 2
2
13

Cuando construyo temas, también me gusta dejar el encabezado de WordPress lo más limpio posible y luego reconstruirlo a mi gusto. El código a continuación es excesivo para tu pregunta, pero podría ayudarte con otro 'código insertado por WordPress' en el futuro. El fragmento clave de código que estás buscando es

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

Coloca esto en tu archivo functions.php.

Mi limpieza completa del encabezado de WordPress:

/* =Limpieza del encabezado de WordPress
------------------------------------------------- */

    // eliminar enlaces del encabezado
    add_action('init', 'tjnz_head_cleanup');
    function tjnz_head_cleanup() {
        remove_action( 'wp_head', 'feed_links_extra', 3 );                      // Feeds de categorías
        remove_action( 'wp_head', 'feed_links', 2 );                           // Feeds de entradas y comentarios
        remove_action( 'wp_head', 'rsd_link' );                                // Enlace EditURI
        remove_action( 'wp_head', 'wlwmanifest_link' );                        // Windows Live Writer
        remove_action( 'wp_head', 'index_rel_link' );                          // enlace de índice
        remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );             // enlace anterior
        remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );              // enlace de inicio
        remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); // Enlaces para entradas adyacentes
        remove_action( 'wp_head', 'wp_generator' );                            // versión de WP
        if (!is_admin()) {
            wp_deregister_script('jquery');                                    // Desregistrar jQuery
            wp_register_script('jquery', '', '', '', true);                    // Registrar como 'vacío', porque insertamos manualmente nuestro script en header.php
        }
    }

    // eliminar versión de WP de RSS
    add_filter('the_generator', 'tjnz_rss_version');
    function tjnz_rss_version() { return ''; }
21 mar 2013 11:35:13
Comentarios

¡Gracias, @Marc! El wp_deregister_script funcionó perfectamente. No estoy usando ninguna de las funciones del tema de Wordpress, escribiendo mi propio head, header, content, footer, etc. Así que estaba confundido sobre por qué estaba cargando esa biblioteca jQuery.

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

@AnthoneyCarter una vez más, si proviene de code.jquery.com no es WordPress el responsable. Esto simplemente está desregistrando jQuery que fue registrado en otro lugar por el tema o un plugin. Además, definitivamente romperás cosas si usas un plugin que requiere jQuery. Hacer esto no es recomendable, úsalo bajo tu propio riesgo.

Milo Milo
21 mar 2013 20:55:01
0

También puedes descargar la biblioteca desde jQuery.com y cargarla como un script normal en tu archivo functions.php y finalizar wp_enqueue_script con una declaración true, esto imprime el script justo antes del cierre de </body>.

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

WordPress todavía utiliza jQuery 1.algo creo. Yo uso jQuery por separado porque estoy utilizando la última versión de Bootstrap y quiero la versión más reciente de jQuery. Solo recuerda añadir true a tu declaración.

1 sept 2015 03:48:07