web-dev-qa-db-fra.com

comment inclure un simple fichier jquery dans un plugin wordpress

ok, c’est la première fois que jQuery est inclus dans Wordpress et il m’a fallu 2 jours complets pour essayer de comprendre cela. Peu importe le nombre d'articles que j'ai lus, je ne trouve pas un exemple parfait.

Ok, donc c'est mon fichier de plugin ... très simple.

<?php
    /*
    Plugin Name: jQuery Include Test
    Plugin URI: http://jquery.com
    description: A test to include jQuery.
    Author: blah blah
    Author URI: 
    */


// jQuery alert to pop up when the page loads.

    function pop_jquery_test() {
    $src = plugins_url('includes/jquerytest.js', __FILE__);
    wp_register_script( 'jquerytest', $src );
    wp_enqueue_script( 'jquerytest' );
    wp_enqueue_script( 'jquery' );
}
add_action('init','pop_jquery_test'); 

et c’est le fichier jquerytest.js qui

$j=jQuery.noConflict();

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

 alert('hi there');
});

maintenant, la question est: comment puis-je le faire fonctionner? dans le sens où j'active le plugin, il apparaît comme le dit le code jQuery ci-dessus.

1
Ronny

Votre jQuery est faux. ce que vous voulez, c'est jQuery(docu.... et non $jQuery(docu....

Vous devez essayer de vous assurer que les composants fonctionnent individuellement avant de les assembler (dans des limites raisonnables bien sûr), cela facilitera beaucoup le dépannage.

5
mor7ifer
function pop_jquery_test() {
    wp_enqueue_script( 'jquery' );
    $src = plugins_url('includes/jquerytest.js', __FILE__);
    wp_register_script( 'jquerytest', $src );
    wp_enqueue_script( 'jquerytest' );
}     
add_action('init','pop_jquery_test'); 

et dans le fichier jquerytest.js écrire le code et le tester

 jquery(document).ready(function(){
  alert('hi there');
});

Assurez-vous que votre chemin de fichier est correct, sinon jquery ne fonctionnera pas.Vous pouvez utiliser firebug pour vérifier si jquery est inclus ou non dans votre promblem de fichier ou de chemin. Utilisez $ ou jquery ou une variable mais ne les combinez pas $jquery dans votre code.

1
Dipika