jQuery no funciona en Wordpress

Estoy usando un entorno de prueba para intentar que jquery funcione en wordpress, la versión de instalación es 3.2.1 y el tema es 2010 (aunque he probado esto en algunos temas diferentes, el mismo resultado). No hay complementos instalados.

Básicamente, estoy poniendo esto en el archivo de encabezado para ver si puedo hacer que jQuery funcione.

<script type="text/javascript">
jQuery(document).ready(function(){
alert('test');
    });
</script>

también he probado esto

jQuery(document).ready(function($){

y este

$j=jQuery.noConflict(); 
// Use jQuery via $j(...)
$j(document).ready(function(){
  alert('test');
});

Parece que no puedo hacer que muestre la alerta cuando se carga la página. Cuando verifico firebug, el script se ha cargado.

jQuery funciona bien cuando no se usa junto con WP y todos los scripts probados fuera de WP funcionan como se esperaba.

¿Debería funcionar en WP 3.2.1? ¿Qué puedo probar?

preguntado el 28 de agosto de 11 a las 03:08

¡Algunos frameworks pueden hacer que tus scripts no funcionen! -

7 Respuestas

¿Ha agregado el archivo de script jQuery real?

Hay varias formas de hacer esto, pero generalmente uso el siguiente método al incluir este código en el archivo functions.php.

<?php
    function add_jquery() {
       wp_enqueue_script( 'jquery' );
    }    

    add_action('init', 'add_jquery');
?>

Aquí también hay un buen recurso para más uso de jQuery + Wordpress: http://www.ericmmartin.com/5-tips-for-using-jquery-with-wordpress/

Respondido 28 ago 11, 07:08

Esta parece la mejor forma de hacerlo. Gracias - Mac Miller

Asegúrese de que WP en sí (u otro complemento instalado) no tenga una versión de jQuery ya incrustada que entre en conflicto con la suya. Vea el código fuente de su página y asegúrese de que solo se haya cargado una versión de jQuery. Debería ir sin problemas.

Respondido 28 ago 11, 07:08

Mediante el uso wp_enqueue_script está seguro de que la biblioteca jQuery está cargada UNA VEZ. Puedes ver aquí cómo cargar un archivo JS.

Respondido 28 ago 11, 16:08

Además de la forma mencionada por Paul Sham, que es absolutamente correcta, la siguiente forma también es útil, que también se describe en ESTE enlace.

function include_jQuery() {
    if (!is_admin()) {
        // comment out the next two lines to load the local copy of jQuery
        wp_deregister_script('jquery'); 
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', false, '1.8.3'); 
        wp_enqueue_script('jquery');
    }
}
add_action('init', 'include_jQuery');

Respondido el 07 de enero de 13 a las 22:01

Encuentro el otro, escribe esto al principio de tu guión. $ = jQuery.noConflict ();

Respondido el 07 de junio de 20 a las 12:06

EDIT:

La respuesta a continuación fue no pretende ser instrucciones paso a paso sobre cómo agregar jQuery a Wordpress. Simplemente le estoy pidiendo que revise y vea si ya está allí, luego le digo que "no lo vuelva a incluir" SI ya está allí.

Como se mencionó en los comentarios, wp_enqueue_script es la mejor manera absoluta de agregar jQuery a Wordpress, siempre que necesite agregar jQuery.


Por supuesto, jQuery funciona dentro de Wordpress, pero no estoy seguro de si ya está incluido en el tema Twenty-Ten de forma predeterminada. Compruebe si el script incluye etiquetas. Necesita algo como esto en el encabezado en algún lugar antes de poder llamar a cualquier JavaScript que use jQuery ...

<script type='text/javascript' src='/jquery.js?ver=1.6.1'></script>

(Asegúrese de no incluirlo más de una vez o en varias versiones).

respondido 08 mar '13, 02:03

$ no se puede usar como reemplazo de jQuery en Wordpress sin hacer algunos métodos sin conflicto de jQuery. Además, se recomienda que utilice wp_enqueue_script para cargar en jQuery para evitar conflictos. - Paul Sham

@Paul: Sí, todas las cosas buenas que mencionas. Sin embargo, no le estoy instruyendo sobre cómo agregarlo ... Le estoy diciendo que se asegure de que ya esté allí y que no lo vuelva a incluir SI ya está allí. - Sparky

No probé $ actualmente. ¡¡ESO FUNCIONO!! (agregando script a la fuente en jquery.js) Pensé que estaba cargado por defecto. ¿También se debe usar wp_enqueue_script o está bien simplemente utilizar la fuente en jquery? ESTÁ FUNCIONANDO ... aunque todavía un poco confuso. OH, solo vea el comentario de wp_enqueue_script. Lo intentaré aunque antes no parecía estar funcionando. - Mac Miller

Siempre que agregue un complemento que requiera jQuery, el complemento puede agregar jQuery nuevamente, de ahí la necesidad de usar algo como wp_enqueue_script. Yo lo recomendaría. - Sparky

¡Esta no es totalmente la forma en que incluye js en jquery! scribu.net/wordpress/optimal-script-loading.html - Ionuț Staicu

if( !is_admin()){
  wp_deregister_script('jquery');
  wp_register_script('jquery',       ("http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"), false, '1.3.1');
  wp_enqueue_script('jquery'); 
}

ponga este código en su archivo function.php actual de wordpress theame en el medio

Respondido 24 ago 13, 10:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.