Utiliser du js avec wordpress

kalmirew -  
Kalmirew Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

Je suis en train de construire un site web à partir d'un template wordpress (je le trouvais bien et au final je l'ai complètement modifié, il ne me sert plus que de base).

J'ai voulu ajouter sur ma homepage (c'est une page avec un custom template) un portfolio (http://tympanus.net/codrops/2012/12/31/how-to-create-a-simple-multi-item-slider/). J'ai donc suivi le tuto et tout fonctionne sauf le js.

A vrai dire, je n'ai que rarement utilisé du js et jamais sur WP. J'ai donc mis mes fichiers js à la root de mon thème. Mais je suis tombée, dans le codex WP, sur les fonction register et enqueu (http://codex.wordpress.org/Function_Reference/wp_enqueue_script). Après avoir passé plusieurs heures à essayer de comprendre, je me suis rendue compte que je n'y comprend rien du tout.

Est-ce que je dois utiliser mes fichier .js ou bien est-ce que je dois écrire une fonction dans mon function.php ?

J'ai lu qu'il y avait des libraries de js déjà comprises dans WP. Quelle sont-elles ? Qu'est-ce que cela implique pour mon cas actuel ?

Je ne peux pas vous montrer ce que ça donne car je travaille en local sur MAMP. D'ailleurs, dois-je régler quelque chose dans mon localhost pour la prise en charge du js ? Est-ce que je dois créer ou modifier des tables ?

Comme vous le voyez, je suis hyper perdue. Merci par avance à la bonne âme charitable qui voudra bien m'aider !

Céline





A voir également:

2 réponses

prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Hello,

Si tu veux charger un fichier JS qui sera propre à ton thème, tu peux le placer à la racine de ton thème ou dans le sous-répertoire JS.

Ensuite, dans le functions.php ajoute ceci: (Exemple pour le theme twentyeleven)

function twentyeleven_scripts() {
 wp_enqueue_script( 'script', get_template_directory_uri() . '/script.js');
}  
add_action('init', 'twentyeleven_scripts');


Remplace bien sur twentyeleven par le nom de ton thème, et script.js par le nom de ton script.

get_template_directory_uri()

Cette ligne renvoie le chemin jusqu'a la racine du thème actif, si tu as placé ton script dans un sous-répertoire de ton thème, il faut le rajouter avant le '/script.js'.

Pour le sous-répertoire JS :
 wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js');


Je reste à l'écoute si tu as des questions.

++
0
kalmirew
 
Merci pour la réponse.

J'ai tenté. Quand j'ajoute le code, j'ai un servor error en local (plus aucune page ne s'affiche donc).

D'ailleurs, l'erreur vient peut-être de là : j'ai deux scripts à exécuter pour ce carousel. Comment dois-je procéder pour ajouter un deuxième script au code ?

Mes fichiers sont bien à la racine, et pour info (car je suis vraiment une nouille avec l'utilisation du js), voici ton code customisé que j'ai inséré (au cas où) :

function pluto_scripts() {
wp_enqueue_script( 'script', get_template_directory_uri() . '/jquery.catslider.js');
}
add_action('init', 'pluto_scripts');

Merci encore, j'étais à deux doigts d'abandonner avec regret l'idée de ce carousel.
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Tu as bien mis ce code à la fin du fichier functions.php présent dans le répertoire de ton thème ?
Pour charger plusieurs scripts, procède ainsi:

function pluto_scripts() { 
	wp_enqueue_script( 'catslider', get_template_directory_uri() . '/jquery.catslider.js'); 
	wp_enqueue_script( 'secondscript', get_template_directory_uri() . '/secondscript'); 
} 
add_action('init', 'pluto_scripts'); 
0
kalmirew
 
Oui, j'ai bien mis le code à la fin. Je viens d'ajouter le second script (c'est le code que j'avais tenté) et j'ai toujours le servor error.

Cette fonction à quel but au juste ? Est-ce qu'elle doit exécuter le script lors du chargement de toutes mes pages par exemple ?
0
kalmirew
 
P.S. : Et oui c'est bien le fichier functions.php dans le répertoire de mon thème ...
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Si tu supprimes les lignes ajoutées, l'erreur disparaît ?
0
Kalmirew Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
Tout à fait ! Curieux hein ?
0