- Statut : non résolu
- Ce sujet contient 8 réponses, 2 participants et a été mis à jour pour la dernière fois par Comme une image, le il y a 15 années et 1 mois.
-
AuteurMessages
-
23 octobre 2009 à 22 h 26 min #475209
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 2.8.4 (ouais ouais, pas encore la 2.8.5)
– Thème utilisé : sur mesure (merci Frisouline)
– Extensions en place : ouh la…
– Nom de l’hebergeur : OVH
– Adresse du site : NSFWProblème(s) rencontré(s) :
Voilà, pour un billet qui sorte de l’ordinaire, je souhaite faire une petite animation avec une transition d’image.
Je me suis dit qu’autant la baser sur jquery, vu que c’est désormais quasi en standard (de fait, j’ai biendans mon entête de page.
Je me suis dit que je n’allais pas réinventer la roue, et j’ai opté pour la première méthode décrite sur cet article.
J’ai fait mes div comme ils disent, mais avec des styles embarqués directement dans le code html et pas la css.
Et puis j’ai (sans doute naïvement) ajouté le code javascript dans mon article, avec une petite « protection » permise par l’extension RAW HTML.Ça donne ça :
<!--start_raw-->
<div class="fade"><a href="#"><img class="aligncenter size-full wp-image-1209"... /></a>
<div style="display:none;"><a href="#"><img class="aligncenter size-full wp-image-1209" ... /></a>Bon, ben devinez quoi ? Ça ne marche pas.
Comme je ne suis pas un crac du js, j’émets plusieurs hypothèses, notamment que le code js n’est pas du tout à la bonne place. Mais où le mettre pour qu’il ne soit pas embarqué en permanence sur mon site mais seulement avec mon billet ?Merci de vos lumières !
24 octobre 2009 à 6 h 41 min #696266Bon ben j’ai trouvé la soluce !
Faut remplacer les $ par jQuery et pis c’est tout 😉24 octobre 2009 à 6 h 41 min #696267Merci, CUI, t’es vraiment trop fort 😆
24 octobre 2009 à 6 h 53 min #696268Comme une image wrote:Mais où le mettre pour qu’il ne soit pas embarqué en permanence sur mon site mais seulement avec mon billet ?Merci de vos lumières !
Si je ne suis pas en train de me vautrer dans l’erreur comme le verrat dans sa soue, c’est une fausse bonne question. Le javascript une fois chargé reste en cache dans le browser, non ? Et donc charger jquery pour un seul billet ou à chaque page ne ferait, ce me semble, aucune différence.
J’aurais même tendance à privilégier le chargement dès la première page car, subjectivement, je pense que l’utilisateur tolère mieux un petit temps d’attente à l’entrée dans le site qu’entre deux billets.
24 octobre 2009 à 7 h 11 min #696269@ piekes » Cher ami, j’espère que, contrairement au verrat, il vous reste de petites choses vous permettant d’avoir une vie épanouie.
Ce que vous me conseillez, si j’ai bien compris, c’est de mettre mon nouveau code js systématiquement dans toutes mes pages, de manière à accélérer le chargement de mon unique page y faisant appel.
Vu la taille du code (quelques vingtaines de lignes), je ne crois pas que ça soit ça qui plombe le chargement de la page, qui est composée de 6 images d’environ 60 ko.Bref, rawhtml me permet de faire ce que je voulais faire, mais attention, ça ne marche qu’avec l’éditeur texte, parce que dès qu’on passe en éditeur visuel, tinymce met une terrible grouille dans le code js ! (un point qui serait d’ailleurs évité en utilisant votre méthode, j’en conviens).
24 octobre 2009 à 7 h 36 min #696270Comme une image wrote:@ piekes » Cher ami, j’espère que, contrairement au verrat, il vous reste de petites choses vous permettant d’avoir une vie épanouie.Voui, le sens de l’humour par exemple… Je tiens néanmoins à préciser que du temps où mon grand’père élevait des cochons, les porcelets mâles passaient tous à la casserole très tôt. Et qu’on ne gardait qu’un seul verrat. Intact, et qui avait vraiment la belle vie, étant rigoureusement immangeable.
Après cet intermède agreste, revenons à WP. Globalement, comme je ne suis pas seul à poster sur la plupart des blogs que je réalise, j’ai une nette tendance à mettre le JS et autres dans les modèles de pages et le fichier functions.php.
Je suis d’ailleurs quasiment convaincu que la façon la plus élégante de réaliser le genre de manip’ que tu proposes (désolé, le voussoiement m’est peu naturel sur un forum, même si nous n’avons pas gardé les cochons ensemble) est de passer par la création d’un shortcode. J’utilise ce procédé, par exemple, pour introduire des documents de type « Zoomify » dans les posts.
24 octobre 2009 à 7 h 42 min #696271Un shortcode, un truc qui insèrerait le code JS (ou autre chose spécifique à un billet) comme il faudrait quand il faudrait ?
Ça m’a l’air une excellente idée. Pourrais-je abuser et te demander où trouver un petit tuto (fr ou en) qui m’explique comment faire ?
24 octobre 2009 à 7 h 50 min #696272Un tuto ?
http://www.smashingmagazine.com/2009/02/02/mastering-wordpress-shortcodes/
http://www.webinventif.fr/wordpress-creation-de-shortcode-avance/Et, pour faire un prix de gros, le shortcode que j’utilise pour Zoomify
function zoomify($atts, $content = null) {
$cheminBlog = get_option(‘siteurl’);
extract(shortcode_atts(array(‘dossier’ => »), $atts));
echo ‘<div class="zoomify">‘;
echo »;
echo »;
echo »;
echo ‘<!--[if !IE]>-->‘;
echo »;
echo »;
echo ‘<!–‘;
echo ‘<!--[if !IE]>-->‘;
echo »;
echo ‘<!–‘;
echo »;
echo ‘</div>‘;
}
add_shortcode(‘zoom’, ‘zoomify’);Pour ce qui est du chargement de code JS uniquement sur un billet, je serai tenté de détecter une catégorie ou un tag dans header.php, si tu veux pas faire du « inline » dans le shortcode.
24 octobre 2009 à 17 h 24 min #696273Pour le JS, je peux aussi adapter cette extension (bête comme chou) traitant la même problématique pour les styles CSS :
http://trevorcreech.com/geekery/wordpress/per-post-css/ -
AuteurMessages
- Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.