ワードプレスのadjacent_image_linkフィルタの使用方法・解説

概要

adjacent_image_linkフィルタは、前または次の添付画像のリンクを表示するために使用されます。このフィルタは、特にギャラリーやメディアアーカイブページで画像のナビゲーションを簡単にする機能を提供します。具体的には、以下のような機能を実装する際によく使用されます。

  • メディアやギャラリーのナビゲーション
  • 投稿のスライドショー表示
  • 画像の前後の切り替えボタン
  • カスタムテーマのメディア表示
  • 画像付きの投稿でのユーザーエクスペリエンスの向上
  • モーダルウィンドウでの画像表示
  • ギャラリーの拡張機能の実装
  • 画像の自動プレイ機能の実装

構文

add_filter('adjacent_image_link', 'your_callback_function', 10, 3);

パラメータ

  • $output: 出力されるリンクのHTML。
  • $id: 現在の画像のID。
  • $size: 画像サイズ。

戻り値

戻り値はフィルタリングされたHTMLリンク。

関連する関数

adjacent_image_link

使用可能なバージョン

このフィルタはWordPress 2.0.0以降で使用可能です。

コアファイルのパス

wp-includes/media.php

この関数のアクションでの使用可能性

アクション 使用可能
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード1: デフォルトの画像リンクを変更

add_filter('adjacent_image_link', 'custom_adjacent_image_link', 10, 3);

function custom_adjacent_image_link($output, $id, $size) {
    // カスタムリンクを作成する例
    return '<a href="' . get_permalink($id) . '">' . wp_get_attachment_image($id, $size) . '</a>';
}

このコードは、デフォルトの前後画像リンクをカスタムリンクに置き換えます。

サンプルコード2: 画像リンクにカスタムクラスを追加

add_filter('adjacent_image_link', 'add_custom_class_to_adjacent_image_link', 10, 3);

function add_custom_class_to_adjacent_image_link($output, $id, $size) {
    return str_replace('<a', '<a class="custom-class"', $output);
}

このコードは、前後画像リンクにカスタムCSSクラスを追加します。

サンプルコード3: 特定の画像サイズを指定

add_filter('adjacent_image_link', 'set_specific_image_size', 10, 3);

function set_specific_image_size($output, $id, $size) {
    // サイズを'small'に変更する例
    return wp_get_attachment_link($id, 'small', true) . $output;
}

このコードでは、前後リンクで表示される画像サイズを「small」に指定しています。

サンプルコード4: 画像リンクを新しいタブで開く

add_filter('adjacent_image_link', 'open_adjacent_image_in_new_tab', 10, 3);

function open_adjacent_image_in_new_tab($output, $id, $size) {
    return str_replace('<a ', '<a target="_blank" ', $output);
}

このコードは、前後画像リンクをクリックした際に新しいタブで開くようにします。

サンプルコード5: アップロードした年によってリンクを表示

add_filter('adjacent_image_link', 'show_images_based_on_year', 10, 3);

function show_images_based_on_year($output, $id, $size) {
    $year = get_the_date('Y', $id);
    return '<div>' . $year . ': ' . $output . '</div>';
}

このコードは、リンクを表示する際に画像がアップロードされた年を追加します。

この関数について質問する


上の計算式の答えを入力してください