私はリストに画像をキャプション付きで表示するこのコードを持っています。キャプションをクリックすると、添付ページに画像が開きますが、画像をクリックすると、その画像が濃い灰色の背景で開きます。それをクリックすると添付ページに画像を表示する方法はありますか?私はそれでたくさん遊んだが成功しなかった。
$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" />';
}
他の答えで指摘したように、あなたはprettyPhotoの部分を持ってはいけません
関数を利用するためにリンクを変更する必要があります get_attachment_link
基本的にあなたのコードでこの行を変更する
$link = '<a href="'.get_attachment_link($id).'">'.wp_get_attachment_image($id, $size, false).'</a>';
次のようなprettyPhoto部分を削除する必要があるように見えます
$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" />';
}