WordPress のギャラリー機能を使って表示した画像のサムネイルをクリックすると、デフォルトでは「gallery」ショートコードのリンク属性はページになっているので(link=”page”)、テンプレートファイルが自動的に選択されて表示される。
MIME_TYPE.php (image.php、video.phpなど)→ attachment.php → single.php → index.php
このとき、image.php で画像を表示するには、以下のように記述する。
<?php if(is_attachment()): ?> <?php if (wp_attachment_is_image($post->id)) : ?> <?php $att_image = wp_get_attachment_image_src( $post->id, "full-size"); ?> <p> <a href="<?php echo $att_image[0];?>" target="_blank"><img src="<?php echo $att_image[0];?>" width="<?php echo $att_image[1];?>" height="<?php echo $att_image[2];?>" alt="<?php $post->post_excerpt; ?>" /></a> </p> <p><?php echo esc_html($post->post_title); ?></p> <!--タイトルを表示--> <p><?php echo esc_html($post->post_excerpt); ?></p> <!--キャプションを表示--> <p><?php echo esc_html($post->post_content); ?></p> <!--説明を表示 を表示--> <?php else: ?> <?php the_content(); ?> <?php endif; ?> <?php else: ?> <?php the_content(); ?> <?php endif; ?>
また、「gallery」ショートコードのリンク属性を「link=”file”」とすれば、サムネイル画像をクリックすると元画像が表示されるようになる。つまり、サムネイル画像に元画像へのリンクが貼られるので、jQuery 等での加工が簡単にできる。
[ gallery link=”file”]