• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

テンプレートタグ/wp get attachment link

提供: WordPress Codex 日本語版
移動先: 案内検索

説明

添付ファイルまたはページへの HTML リンクを返します。次のいずれかを含みます。

  1. 添付ファイルが画像のとき、指定されたサイズの画像
  2. 添付ファイルを表すメディアアイコン (指定されたとき)
  3. 添付ファイルのタイトル (テキスト)
  4. 自分で決めたテキスト

指定された添付ファイルが存在しない場合、文字列「添付ファイルが見つかりません (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最新版との差分