previous_image_link()

previous_image_link()
目次

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()の引数の説明

引数名内容
$sizebool / stringリンクに表示する画像のサイズ名(例:’thumbnail’, ‘medium’ など)または false(画像を表示せずリンクテキストだけ)
$textstring表示するテキスト($sizefalse の場合に有効)

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.phpattachment.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 の添付画像ページにナビゲーションを導入するためのシンプルで効果的な関数です。
フォトギャラリーや作品集のように、画像同士をページ遷移でつなげたい場面に最適です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次