web-dev-qa-db-fra.com

La galerie WordPress, Saisir le lien et les images?

J'ai créé un modèle de galerie nommé image.php qui me permet de créer une galerie d'images de style site Web d'actualité pouvant être incorporée dans des publications. Mais il me faut encore deux choses pour que cela soit complet.

  • Tout d'abord, je veux savoir comment créer un lien de texte vers la première image d'une galerie , plutôt que d'afficher des vignettes pour la galerie, comme le fait actuellement le shortcode intégré [gallery] . Par exemple, consultez "cliquez ici pour commencer" sur cette page: http://www.businessinsider.com/Android-vs-iphone-debate-quotes-2011-12

  • Deuxièmement, si quelqu'un sait comment générer une liste de toutes les images d'une galerie que je peux ajouter à mon fichier image.php, ce qui serait bien d'avoir pour pouvoir l'utiliser pour créer un curseur au bas de chaque page comportant une image avec les autres images de la galerie.

2
AndrettiMilas

Les pièces jointes dans une galerie sont leurs propres publications, avec des paramètres spéciaux. Pour obtenir une liste de toutes les pièces jointes d'une publication donnée, vous créez simplement une nouvelle requête et indiquez le type de publication et le type de pièce jointe.

$gallery_images = new WP_Query(array(
    'post_parent' => $post->ID,
    'post_type' => 'attachment',
    'post_mime_type' => 'image',
    'post_status' => 'inherit',
    )
);

Vous pouvez ensuite parcourir cette requête de la même manière que toute autre boucle pour accéder à ces images.

while ( $gallery_images->have_posts() ) : $gallery_images->the_post();
    the_title(); 
    the_content(); 
    the_permalink();
    whatever();
endwhile;

// always reset the post data at the end of any non-main loop
wp_reset_postdata();

La création d'un lien texte vers l'une de ces images se ferait à l'aide de la fonction wp_get_attachment_link. Pour un lien texte uniquement, utilisez "none" comme paramètre de taille.

echo wp_get_attachment_link( $attachment_id, 'none', true, false, 'Link Text' );
3
Otto