web-dev-qa-db-fra.com

Changer le code pour afficher la page de pièce jointe

J'ai ce code qui affiche les images avec leurs légendes dans une liste. En cliquant sur la légende, ouvre l'image dans une page de pièce jointe, mais en cliquant sur l'image, cette image s'ouvre sur un fond gris foncé. Est-il possible d'afficher une image sur une page de pièce jointe en cliquant dessus? J'ai beaucoup joué avec, mais sans succès.

$i = 0;
    $Rand_id = mt_Rand(1,1000);
    foreach ( $attachments as $id => $attachment ) {
        $image_attributes = wp_get_attachment_image_src( $id,'large' );


        $link = isset($attr['link']) && 'file' == $attr['link'] ? '<a href="'.$image_attributes[0].'"  rel="prettyPhoto[pp_'.$Rand_id.']"><span class="mosaic-overlay"></span>'.wp_get_attachment_image($id, $size, false).'</a>' : '<a href="'.$image_attributes[0].'"  rel="prettyPhoto[pp_'.$Rand_id.']"><span class="mosaic-overlay"></span>'.wp_get_attachment_image($id, $size, false).'</a>';
        $output .= "<{$itemtag} class='gallery-item'>";
        $output .= "
            <{$icontag} class='gallery-icon'>
                $link
            </{$icontag}>";

         if ( $captiontag && trim($attachment->post_title) ) {  //caption display
            $output .= "
                <{$captiontag} class='gallery-caption'>
                " .wp_get_attachment_link($id, $size, true, false, wptexturize($attachment->post_title))  . "
                </{$captiontag}>";
           }

        $output .= "</{$itemtag}>";
        if ( $columns > 0 && ++$i % $columns == 0 )
            $output .= '<br style="clear: both" />';
    }
2
10wtaylor
  1. Comme indiqué dans l’autre réponse, vous ne devriez pas avoir une partie prettyPhoto

  2. Le lien doit être modifié pour utiliser la fonction get_attachment_link

Fondamentalement changer cette ligne dans votre code

$link = '<a href="'.get_attachment_link($id).'">'.wp_get_attachment_image($id, $size, false).'</a>';
0
Mridul Aggarwal

On dirait que vous devriez enlever les parties prettyPhoto, telles que

$i = 0;
$Rand_id = mt_Rand(1,1000);
foreach ( $attachments as $id => $attachment ) {
    $image_attributes = wp_get_attachment_image_src( $id,'large' );


    $link = isset($attr['link']) && 'file' == $attr['link'] ? '<a href="'.$image_attributes[0].'"  ]">'.wp_get_attachment_image($id, $size, false).'</a>' : '<a href="'.$image_attributes[0].'"  ]">'.wp_get_attachment_image($id, $size, false).'</a>';
    $output .= "<{$itemtag} class='gallery-item'>";
    $output .= "
        <{$icontag} class='gallery-icon'>
            $link
        </{$icontag}>";

     if ( $captiontag && trim($attachment->post_title) ) {  //caption display
        $output .= "
            <{$captiontag} class='gallery-caption'>
            " .wp_get_attachment_link($id, $size, true, false, wptexturize($attachment->post_title))  . "
            </{$captiontag}>";
       }

    $output .= "</{$itemtag}>";
    if ( $columns > 0 && ++$i % $columns == 0 )
        $output .= '<br style="clear: both" />';
}
0
Danny Michel