MENU

adjacent_image_link()

adjacent_image_link() は、添付画像(メディア)ページにおいて、前後の画像へのリンクを表示するための WordPress テンプレートタグです。

ギャラリーや画像一覧をナビゲーションしやすくする目的で使用されます。この関数を使うと、メディアページ内で「前の画像」「次の画像」といったリンクを簡単に設置できます。

目次

機能の説明

adjacent_image_link() は、現在表示されている画像に対して、前後の画像へリンクを生成します。
主に メディアページ(添付ファイルページ) 内で使用され、画像の一覧をスムーズにナビゲーションできるようにするために役立ちます。

主な用途

  • 画像ギャラリーのページネーション
  • メディアページの前後ナビゲーション
  • 画像のスライドショーの実装補助

このテンプレートタグは、wp_get_attachment_link() などと組み合わせて使うことが一般的です。

シンプルなコード例

adjacent_image_link(false, '前の画像');
  • false:前の画像へリンクを表示
  • '前の画像':リンクのテキスト(カスタマイズ可能)

このコードを記述すると、メディアページ上で 前の画像へのリンク が表示されます。

使い方の説明

基本的な使い方

現在の画像の 前後の画像へのリンク を表示する場合、次のように記述します。

<div class="image-navigation">
    <div class="prev-image">
        <?php adjacent_image_link(false, '← 前の画像'); ?>
    </div>
    <div class="next-image">
        <?php adjacent_image_link(true, '次の画像 →'); ?>
    </div>
</div>
  • <div class="prev-image"> 内で adjacent_image_link(false, '← 前の画像'); を使用 → 前の画像へ移動するリンク
  • <div class="next-image"> 内で adjacent_image_link(true, '次の画像 →'); を使用 → 次の画像へ移動するリンク

画像のサムネイル付きナビゲーション

画像のリンクに サムネイルを表示 する場合は、以下のように記述します。

<div class="image-navigation">
    <div class="prev-image">
        <?php adjacent_image_link(false, '<img src="%s" alt="前の画像">'); ?>
    </div>
    <div class="next-image">
        <?php adjacent_image_link(true, '<img src="%s" alt="次の画像">'); ?>
    </div>
</div>
  • '%s' は、サムネイルのURLに自動的に置き換えられる
  • 画像付きのナビゲーションを作成するのに便利

一緒に使うことが多い関連タグ

wp_get_attachment_link()

画像の添付ファイルページへのリンクを取得する。

echo wp_get_attachment_link($post->ID, 'thumbnail', true);

wp_get_attachment_image()

画像のタグ (<img>) を取得する。

echo wp_get_attachment_image($post->ID, 'medium');

get_adjacent_post()

通常の投稿(post)の前後の記事を取得する。

$prev_post = get_adjacent_post(false, '', true);

追加情報で取得したい場合

現在の画像の詳細情報を取得する

wp_get_attachment_metadata() を使うと、画像のメタデータ(サイズ、サムネイル、EXIF情報など)を取得できます。

$metadata = wp_get_attachment_metadata($post->ID);
print_r($metadata);

画像のアップロード者情報を取得する

get_the_author_meta() を使うことで、画像をアップロードしたユーザー情報を取得できます。

$author_id = get_post_field('post_author', $post->ID);
$author_name = get_the_author_meta('display_name', $author_id);
echo "この画像のアップロード者: " . $author_name;

想定されるトラブル

ナビゲーションが正しく動作しない

解決方法

  • adjacent_image_link()メディア(添付ファイル)ページ でのみ機能するため、通常の投稿ページでは動作しない
  • attachment.php などのテンプレートで使用する必要がある

サムネイルが表示されない

解決方法

  • '%s' を使って正しくサムネイルのURLを取得しているか確認する
  • wp_get_attachment_image() などを使って、直接サムネイルを表示することも検討

Q&A

adjacent_image_link() は通常の投稿ページでも使えますか?

いいえ。この関数は メディアページ(添付ファイルページ) でのみ機能します。

サムネイル付きの前後リンクを作るにはどうすればいいですか?

'%s' を使って、画像のURLを取得し <img> タグの中に埋め込むことで実現できます。

画像ナビゲーションをカスタム投稿タイプで使えますか?

adjacent_image_link()メディアページ専用 ですが、カスタム投稿タイプでは get_adjacent_post() を使って前後の投稿を取得することができます。

まとめ

adjacent_image_link() は、WordPress のメディアページ(添付ファイルページ)において、前後の画像へのナビゲーションリンクを簡単に生成するための便利な関数です。

サムネイル付きのリンクを作成することで、より視覚的にわかりやすいナビゲーションを提供できます。通常の投稿では使用できないため、attachment.php などのテンプレートで利用する必要があります。

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

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次