概要
adjacent_image_link
フィルタは、前または次の添付画像のリンクを表示するために使用されます。このフィルタは、特にギャラリーやメディアアーカイブページで画像のナビゲーションを簡単にする機能を提供します。具体的には、以下のような機能を実装する際によく使用されます。
- メディアやギャラリーのナビゲーション
- 投稿のスライドショー表示
- 画像の前後の切り替えボタン
- カスタムテーマのメディア表示
- 画像付きの投稿でのユーザーエクスペリエンスの向上
- モーダルウィンドウでの画像表示
- ギャラリーの拡張機能の実装
- 画像の自動プレイ機能の実装
構文
add_filter('adjacent_image_link', 'your_callback_function', 10, 3);
パラメータ
$output
: 出力されるリンクのHTML。$id
: 現在の画像のID。$size
: 画像サイズ。
戻り値
戻り値はフィルタリングされたHTMLリンク。
関連する関数
使用可能なバージョン
このフィルタは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>';
}
このコードは、リンクを表示する際に画像がアップロードされた年を追加します。