[Résolu] Comment utiliser jquery sur un seul billet ?

  • Statut : non résolu
9 sujets de 1 à 9 (sur un total de 9)
  • Auteur
    Messages
  • #475209
    Comme une image
    Participant
    Maître WordPress
    2493 contributions

    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 : NSFW

    Problè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 bien

    dans 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 !

    #696266
    Comme une image
    Participant
    Maître WordPress
    2493 contributions

    Bon ben j’ai trouvé la soluce !
    Faut remplacer les $ par jQuery et pis c’est tout 😉

    #696267
    Comme une image
    Participant
    Maître WordPress
    2493 contributions

    Merci, CUI, t’es vraiment trop fort 😆

    #696268
    piekes
    Membre
    Maître WordPress
    725 contributions
    Comme 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.

    #696269
    Comme une image
    Participant
    Maître WordPress
    2493 contributions

    @ 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).

    #696270
    piekes
    Membre
    Maître WordPress
    725 contributions
    Comme 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.

    #696271
    Comme une image
    Participant
    Maître WordPress
    2493 contributions

    Un 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 ?

    #696272
    piekes
    Membre
    Maître WordPress
    725 contributions

    Un 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.

    #696273
    Comme une image
    Participant
    Maître WordPress
    2493 contributions

    Pour 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/

9 sujets de 1 à 9 (sur un total de 9)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.