web-dev-qa-db-fra.com

comment lier la vignette au format image d'origine dans une lightbox?

J'ai une page affichant le type de message personnalisé, mais je ne sais pas comment créer un lien vers l'image en taille réelle qui peut être ouverte par un plugin lightbox.

la page de post est comme:

 <div class="content" id="main-content">
<?php
  $args=array(
     'post_type' => 'painting',
    );
  $the_query = new WP_Query($args);
  ?>

  <?php if ($the_query->have_posts() ): while ($the_query->have_posts() ):$the_query->the_post(); ?>

<div class="painting col-md-3 col-sm-6" id="inside">
    <div class="painting-image">
        <?php the_post_thumbnail('painting-thumbnail'); ?>
        <span class="overlay"></span>
    </div>
</div>

<?php endwhile; ?>
<?php endif; ?>

Je sais que je devrais utiliser quelque chose dans une balise {a}, mais je ne trouve pas comment faire un lien vers la source. J'ai aussi lu le codex wp sur 'wp_get_attachment_image_src', mais cela n'a pas été utile. Merci pour l'aide supplémentaire!

1
Omid Akbari Kh.

Voici des exemples d’affichage de l’image sélectionnée de la publication, qui est liée à la version agrandie de l’image.

Pour WordPress version 4.4.0 et ultérieure, vous pouvez utiliser the_post_thumbnail_url() , comme ceci:

<a href="<?php the_post_thumbnail_url( 'full' ); ?>" class="thickbox"><?php // wrapped
    the_post_thumbnail( 'painting-thumbnail' ); ?></a>

Pour les versions antérieures de WordPress, vous pouvez utiliser wp_get_attachment_image_src() , comme ceci:

<?php
$post_thumbnail_id = get_post_thumbnail_id();
$info = wp_get_attachment_image_src( $post_thumbnail_id, 'full' );
?>
<a href="<?php echo esc_url( $info['0'] ); ?>" class="thickbox"><?php // wrapped
    the_post_thumbnail( 'painting-thumbnail' ); ?></a>

Vous devriez remplacer thickbox par la bonne class qui ouvrira l'image en taille réelle dans un modal/popup.

1
Sally CJ