Desactivar que WordPress incluya jQuery en la sección head
Necesito hacer que WordPress no incluya jQuery en la sección <head>
de cada página.
La razón por la que necesito esto es porque ya estoy incluyendo jQuery manualmente al final del documento.
Probé esto: wp_deregister_script('jquery')
pero no funciona.
¿Cómo se puede eliminar jQuery de la sección <head>
?
Reemplazar la versión de jQuery de WordPress generalmente es una mala idea. Consulta el artículo de Pippin Por qué cargar tu propio jQuery es irresponsable para más información.
En lugar de reemplazar completamente jQuery, podrías mover la versión proporcionada al pie de página. Sin embargo, debes tener en cuenta que esto probablemente romperá plugins si cargan scripts en el encabezado del sitio web.
function themename_print_jquery_in_footer( &$scripts ) {
// Retorna si el sitio web está siendo solicitado desde el admin o el personalizador de temas
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' );

¡Gracias! Creo que me quedaré con mi método porque sé exactamente lo que estoy haciendo, pero animaría a todos a usar esta solución en su lugar.

Acabo de leer un poco mejor el artículo y me di cuenta de que la mayoría de los puntos que se mencionan son incorrectos.

Creo que plantea algunos buenos puntos para tener en cuenta, pero tus experiencias y situación pueden variar. Definitivamente he tenido un aumento en mi carga de trabajo tanto por plugins como por temas que han reemplazado la versión de jQuery de WordPress por la suya propia.

<?php
function remover_jquery() {
// Verifica que no estemos en el área de administración
if (!is_admin()) {
// Desregistra el script de jQuery
wp_deregister_script('jquery');
// Vuelve a registrar jQuery sin fuente (lo elimina efectivamente)
wp_register_script('jquery', false);
}
}
// Ejecuta la función durante la inicialización de WordPress
add_action('init', 'remover_jquery');
?>
Prueba este código, funciona correctamente - elimina la biblioteca jQuery.js. El código de otras respuestas elimina todo el JavaScript
