2012-09-10 9 views
7

He estado desarrollando complementos de WordPress por un tiempo y siempre parece que tengo los siguientes problemas con todos mis complementos Jquery está en conflicto con los problemas.Modo a prueba de balas para evitar conflictos de jquery en los complementos de WordPress

He intentado tantas formas diferentes de evitar esto, pero siempre me pido que los usuarios me contacten diciéndome que cuando han instalado uno de mis complementos ha dejado de funcionar otro complemento de aahhhhh.

Tengo muchas ganas de ordenar esto porque entiendo lo frustrante que esto puede ser para las personas.

Siempre configuro y selecciono o incluyo wordpress jquery, a continuación solo se muestra un código de ejemplo que no funciona.

add_action('init', array($this, 'include_jquery')); 

function include_jquery(){ 

        wp_deregister_script('jquery'); 
        wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"), false, '1.7.1'); 
        wp_enqueue_script('jquery'); 

      } 

Ok así que después de problemas con esto ahora tengo una opción de selección en el admin plugin para cambiar sí o no incluir jQuery o no sé que se instala automáticamente, pero algunos usuarios eliminar esta, esto funciona para algunas personas pero no todos.

si incluye el wordpress jquery sé que tiene que ejecutar su jquery con lo siguiente.

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

jQuery en lugar del signo de dólar $

entiendo y lo han utilizado jQuery ningún conflicto y probado algunos, si no todos de estos http://api.jquery.com/jQuery.noConflict/

$.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
    }); 

Este al igual que con los demás funciona para algunos, pero no para todos los usuarios, y los conflictos surgen aún con ciertos usuarios.

Espero que a partir de esta publicación algunos de los desarrolladores de plugins de WordPress puedan ayudar y publicar una forma a prueba de balas para usar wordpress y jquery dentro de nuestros complementos sin tener problemas de conflicto.

Gracias

Respuesta

7

¿No funciona con un cierre?

(function($){ 
    // your plugin code 
})(jQuery); 
+1

Esto definitivamente funciona, no entiendo el ajetreo de la pregunta? Agregue una ventana y sin definir como argumentos de la función de auto invocación, ¡y listo! – jOpacic

Cuestiones relacionadas