
previous_image_link()とは?
previous_image_link()
は、添付ファイル(特に画像)ページにおいて、「前の画像ページ」へのリンクを表示する関数です。
WordPress の「添付ファイルページ」とは、投稿にアップロードされた画像やPDF、音声などメディアファイルごとに自動生成されるページのことで、特にギャラリーやフォトブログではこの機能が重宝されます。
その中で、previous_image_link()
は同一の投稿に添付された画像群の中から、前の画像へのリンクを表示するために使われます。
previous_image_link()の基本構文
previous_image_link( bool|string $size = false, string $text = '' )
previous_image_link()の引数の説明
引数名 | 型 | 内容 |
---|---|---|
$size | bool / string | リンクに表示する画像のサイズ名(例:’thumbnail’, ‘medium’ など)または false (画像を表示せずリンクテキストだけ) |
$text | string | 表示するテキスト($size が false の場合に有効) |
previous_image_link()の戻り値
この関数は void
(返り値なし)。
つまり、HTMLを直接出力する関数です(echo
不要)。
previous_image_link()の使用例
画像を表示せず、テキストリンクを表示
<?php previous_image_link(false, '« 前の画像'); ?>
出力例:
<a href="https://example.com/attachment/image1/">« 前の画像</a>
サムネイル画像を表示してリンク化
<?php previous_image_link('thumbnail'); ?>
出力例(HTML):
<a href="https://example.com/attachment/image1/">
<img src="https://example.com/wp-content/uploads/image1-150x150.jpg" alt="..." />
</a>
このように、前の画像のサムネイルをリンクとして表示できます。
よくある使い方(ナビゲーションセット)
<div class="image-navigation">
<div class="nav-previous"><?php previous_image_link(false, '« 前の画像'); ?></div>
<div class="nav-next"><?php next_image_link(false, '次の画像 »'); ?></div>
</div>
このように next_image_link()
とセットで使うのが一般的です。
添付ファイルページとは?
WordPress では画像やPDFなどを投稿にアップロードすると、自動的に「添付ファイルページ(attachment page)」が作られます。
そのページの URL は通常以下のようになります:
https://example.com/attachment/image1/
このページにアクセスすると、画像本体とその説明(キャプションなど)が表示されます。
実際のテンプレートでの使い方
image.php
や attachment.php
といったテンプレートファイルで使われることが多いです。
例:image.php
<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<h1 class="entry-title"><?php the_title(); ?></h1>
</header>
<div class="entry-content">
<div class="attachment">
<?php echo wp_get_attachment_image( get_the_ID(), 'large' ); ?>
</div>
</div>
<nav class="image-navigation">
<div class="nav-previous"><?php previous_image_link(false, '« 前の画像'); ?></div>
<div class="nav-next"><?php next_image_link(false, '次の画像 »'); ?></div>
</nav>
</article>
<?php endwhile; endif; ?>
</main>
</div>
<?php get_footer(); ?>
ギャラリーのループと連動
この関数は、同じ投稿や固定ページに添付された画像群の中で、現在の画像の「前」または「次」を取得するため、
WordPress の gallery
ショートコードや add_image_size()
などと組み合わせて活用されます。
カスタマイズ例:画像付きナビゲーションを装飾
<div class="image-nav-thumbnail">
<div class="prev-thumb">
<?php previous_image_link('thumbnail'); ?>
</div>
<div class="next-thumb">
<?php next_image_link('thumbnail'); ?>
</div>
</div>
CSS:
.image-nav-thumbnail {
display: flex;
justify-content: space-between;
}
.image-nav-thumbnail img {
border: 1px solid #ccc;
width: 100px;
height: auto;
}
関連関数との違い
関数名 | 用途 | 出力内容 |
---|---|---|
previous_image_link() | 添付画像ページの「前」へのリンク | HTML出力 |
next_image_link() | 添付画像ページの「次」へのリンク | HTML出力 |
previous_post_link() | 投稿(記事)の前の記事へのリンク | 投稿用 |
posts_nav_link() | 一覧ページの前後リンク(ページ番号) | アーカイブ用 |
注意点と制約
- 使用対象は「添付ファイルページ(特に画像)」であることが前提です。
- 一般の投稿ページ(
single.php
)では効果を発揮しません。 - 同一投稿に複数画像が添付されていない場合、リンクは表示されません。
previous_image_link()のまとめ
項目 | 内容 |
---|---|
関数名 | previous_image_link() |
用途 | 添付ファイル(画像)ページで、前の画像ページへ移動するリンクを出力 |
引数 | $size (画像サイズ)、$text (リンクテキスト) |
出力 | <a> タグで直接HTML出力(画像またはテキスト) |
使用場所 | image.php などのテンプレートファイル |
注意点 | 添付画像として投稿にアップロードされた画像が対象 |
previous_image_link()
は、WordPress の添付画像ページにナビゲーションを導入するためのシンプルで効果的な関数です。
フォトギャラリーや作品集のように、画像同士をページ遷移でつなげたい場面に最適です。