Utiliser du js avec wordpress

Fermé
kalmirew - 11 mai 2013 à 13:38
Kalmirew Messages postés 17 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 13 juin 2015 - 12 mai 2013 à 16:20
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
12 mai 2013 à 11:04
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
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
12 mai 2013 à 11:36
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
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
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
12 mai 2013 à 11:53
Si tu supprimes les lignes ajoutées, l'erreur disparaît ?
0
Kalmirew Messages postés 17 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 13 juin 2015
12 mai 2013 à 11:54
Tout à fait ! Curieux hein ?
0