- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
テンプレートタグ/wp get attachment link
目次
説明
添付ファイルまたはページへの HTML リンクを返します。次のいずれかを含みます。
- 添付ファイルが画像のとき、指定されたサイズの画像
- 添付ファイルを表すメディアアイコン (指定されたとき)
- 添付ファイルのタイトル (テキスト)
- 自分で決めたテキスト
指定された添付ファイルが存在しない場合、文字列「添付ファイルが見つかりません (Missing Attachment)」を返します。
使い方
<?php wp_get_attachment_link( $id, $size, $permalink, $icon, $text, $attr ); ?>
デフォルトの使い方
<?php echo wp_get_attachment_link( 13 ); ?>
テンプレート内で添付ファイルの ID を動的に取得するには、get_children() などを使うとよいでしょう。
パラメータ
- $id
- (整数) (オプション) 取得したい添付ファイルの ID。
- 初期値: ループ内で使った場合、現在の投稿 ID (添付ファイルだけを表示するループである必要があります)。
- $size
- (文字列|配列) (オプション) 画像の大きさ。キーワードとなる文字列(thumbnail, medium, large, full)、または add_image_size() で定義したカスタムサイズのキーワード、もしくは幅と高さをピクセルで指定する要素 2 つの配列、例えば
array( 32, 32 )
。Version 2.5 以降、このパラメータはメディアアイコンの大きさを変えることができず、常に元の大きさで表示されます。- 初期値: 'thumbnail'
- $permalink
- (真偽値) (オプション) 添付ファイルや画像への直リンク (デフォルトまたは false)、または添付ページへのリンク (true)。
- 初期値: 'false'
- $icon
- (真偽値) (オプション) 添付ファイルを表すメディアアイコンを使う (true のとき)。
- 初期値: 'false'
- $text
- (文字列/真偽値) (オプション) 添付へのテキストリンクを表示する (空ではない文字列を指定したとき)。
- 初期値: 'false'
- $attr
- (文字列/配列) (オプション) wp_get_attachment_image() へ渡す画像属性のリスト。
- 初期値: 空文字列
用例
例えば次のような形式の文字列を返します。
<a href='http://example.com/wp-content/uploads/2017/11/image-xyz.jpg'><img width="150" height="150" src="http://example.com/wp-content/uploads/2017/11/image-xyz-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="" srcset="http://example.com/wp-content/uploads/2017/11/image-xyz-150x150.jpg 150w, http://example.com/wp-content/uploads/2017/11/image-xyz-50x50.jpg 50w" sizes="(max-width: 150px) 100vw, 150px" /></a>
中サイズの添付へのリンク
WordPress のデフォルトの画像サイズは "thumbnail" (サムネイル)、"medium" (中)、"large" (大)、"full" (フルサイズ) です。画像サイズは WordPress 管理画面の設定→メディア設定から変更できます。
<?php $id = 9; // 添付の ID echo wp_get_attachment_link( $id, 'medium' ); ?>
添付ページへのリンク
この例は添付ページヘのリンクを表示します。
<?php $id = 9; // 添付の ID echo wp_get_attachment_link( $id, 'thumbnail', true ); ?>
テキストによる添付へのリンク
この例は添付ファイルヘのリンクを "My link text" という文字列で表示します。
<?php $id = 9; // 添付のID echo wp_get_attachment_link( $id, '' , false, false, 'My link text' ); ?>
投稿タイトルによる添付へのリンク
この例は添付ファイルへのリンクを投稿タイトルで表示します。
<?php $id = 9; // 添付のID echo wp_get_attachment_link( $id, '' ); ?>
アイコンディレクトリを変更する
WordPress はブログや管理画面で、メディアアイコンを使って添付ファイルを表すことができます。画像の場合はサムネイルが表示されますが、その他のメディアタイプはその種類の名前がついたイメージファイル (例: audio.jpg) を wp-includes/images/crystal/ ディレクトリから検索します。
この例は、先のディレクトリをどのように "images" フォルダへ変更するのかという手順を説明します。フォルダは wp-content/themes/yourtheme/images にあるとします。フォルダを作成し、「メディアタイプが画像の添付ファイル」を入れてください。WordPress にディレクトリを変えたことを通知するには、使用中のテーマの functions.php ファイルに次のコードを書き込んでください。
add_filter( 'icon_dir', 'my_theme_icon_directory' ); add_filter( 'icon_dir_uri', 'my_theme_icon_uri' ); function my_theme_icon_directory( $icon_dir ) { return get_stylesheet_directory() . '/images'; } function my_theme_icon_uri( $icon_dir ) { return get_stylesheet_directory_uri() . '/images'; }
参考
リンクではなく画像だけが欲しい場合は、wp_get_attachment_image() を使ってください。
変更履歴
2.5.0にて導入されました。
ソースファイル
wp_get_attachment_link() は wp-includes/post-template.php
にあります。
関連項目
添付ファイル関数: get_children(), get attached media(), the_attachment_link(), get_attachment_link(), wp_get_attachment_link(), wp_get_attachment_image(), wp_get_attachment_image_src(), wp_get_attachment_url(), wp_get_attachment_thumb_file(), wp_get_attachment_thumb_url(), is_attachment(), wp_get_attachment_metadata()
最新英語版: WordPress Codex » Function Reference/wp get attachment link (最新版との差分)