Bonjour,


Je travaille actuellement sur mon portfolio, avec Wordpress. Sur ma page d'accueil, comme vous pourrez le voir, j'affiche les "images à la une"(vignettes) de mes posts.
Au clic, je voudrais pouvoir afficher (avec Zoombox, un équivalent de Lightbox) les médias liés (vidéo, images, ...) en pleine taille (et en galerie s'il y a plusieurs médias).

Mon problème est que malheureusement, je n'arrive pas à faire le lien entre la vignette et les médias attachés de chaque post. J'ai essayé avec les champs personnalisés, différentes astuces, mais malheureusement sans succès jusqu'à présent...

Je suis encore débutant en code, aussi merci d'avance à ceux qui pourront m'aider, car je suis complètement perdu !!! Smiley decu Smiley decu
Bonjour,


Un peu de neuf, même si le problème persiste...

En utilisant les "post_format", j'arrive à appliquer ma Zoombox correctement pour les articles à image/vidéo unique. Mais pour les galeries... Impossible !

J'ai testé plusieurs méthodes, et au final, le seul moyen actuel pour afficher ma galerie, est d'afficher le content complet (et donc toutes mes images...), et d'indiquer la classe requise (incluant "zgallery"), pour le ciblage du script.

Pas vraiment une solution, donc, et malgré mes recherches, je ne trouve pas de solution à mon problème, faute de connaissances suffisantes en code sans doute...

Du coup, je vous re-demande votre aide, en espérant que quelqu'un pourra m'aider à résoudre ce problème !

Merci d'avance !
Salut,

Je suis pas sûr d'avoir bien compris. En gros pour chaque article (ou page) pour lequel tu affiche une image à la une, tu veux récupérer et afficher les médias (images, vidéos, etc.) liés à ce contenu ? C'est bien ça ?

Si c'est bien ça, voilà pour commencer un bout de code basique à adapter à ta situation.

/* identifiant du contenu (page ou article) en cours, que tu peux récupérer avec get_the_ID si tu est dans la boucle WP */
$idpost = get_the_ID();
/* les paramètres de la fonction get_posts() */
$args = array(
    'post_parent' => $idpost, /* les médias liés sont des contenus stockés dans la BDD en tant que contenus enfant de la page à laquelle ils sont liés */
    'post_type' => 'attachment', /* c'est comme ça qu'on repère les fichiers liés */
    'post_status' => null,
); 
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
    /* la ensuite c'est du classique : tu affiches le fichier lié avec le marqueur de modèle que tu veux */
    }
}

J'ai détaillé les commentaires a minima (c-a-d à la Rache…), donc hésite pas à demander si c'est pas clair Smiley cligne
Modifié par audrasjb (04 Apr 2012 - 15:03)
Bonjour,


Pardon si je n'étais pas clair... Donc pour résumer, je voulais que les vignettes de mes posts, sur la home, renvoient (avec une Zoombox) aux médias attachés (images seules, vidéos, galeries), comme on peut le voir sur mon site-test.

Le souci, est que la fonction post_thumbnail ("images à la une") casse les liens entre miniatures et grands formats...

En utilisant les post-format (une des nouveautés de Wordpress, semble-t-il) et les champs personnalisés, j'ai pu recréer ces liens pour les vidéos et les images seules. Toutefois le problème persistait avec les galeries.

Finalement, faute de mieux, j'ai opté pour la solution suivante, pour mes galeries : appeler le "content" complet, sur ma home (en taille miniature), et ajouter un display:none sur toutes les images, à l'exception de la première. Ainsi j'ai pu conserver les liens, et "résoudre" (ou plutôt contourner) le problème.

Cela peut sembler peu orthodoxe, mais c'est la seule solution que j'ai trouvée, et qui marche. Vous pouvez voir le résultat sur mon site-test (et prochainement sur mon site, du coup).
Modifié par soykje (07 Apr 2012 - 17:38)
[suite de mon message]

Du coup, je ne me suis pas servi de ton bout de code, audrasjb, ayant trouvé entre-temps une solution par moi-même. Mais merci quand même pour ta réponse !

Je marque donc le sujet, comme résolu.
Si c'est bien ça, voilà pour commencer un bout de code basique à adapter à ta situation.
Modifié par 6l20 (11 Apr 2012 - 08:49)
Bonjour,

Merci pour l'intention, mais comme indiqué plus haut : le sujet est résolu! Smiley smile

Bonne journée.