当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「テンプレートタグ/wp get attachment link」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(英語版をコピペ)
 
(en:Function Reference/wp get attachment link 22:07, 4 November 2017 Tazotodua 版を反映。)
 
(3人の利用者による、間の4版が非表示)
1行目: 1行目:
== Description ==
+
== 説明<span id="Description"></span> ==
  
Returns an HTML image element representing an attachment file, if there is any, otherwise an empty string.
+
添付ファイルまたはページへの HTML リンクを返します。次のいずれかを含みます。
  
== Usage ==
+
# 添付ファイルが画像のとき、指定されたサイズの画像
 +
# 添付ファイルを表すメディアアイコン (指定されたとき)
 +
# 添付ファイルのタイトル (テキスト)
 +
# 自分で決めたテキスト
  
<?php wp_get_attachment_image( $attachment_id, $size, $icon, $attr ); ?>
+
指定された添付ファイルが存在しない場合、文字列「<tt>添付ファイルが見つかりません</tt> (<tt>Missing Attachment</tt>)」を返します。
  
== Default Usage ==
+
== 使い方<span id="Usage"></span> ==
  
  <?php echo wp_get_attachment_image( 1 ); ?>
+
  <?php wp_get_attachment_link( $id, $size, $permalink, $icon, $text, $attr ); ?>
  
If the attachment is an image, the function returns an image at the specified size.
+
=== デフォルトの使い方<span id="Default_Usage"></span> ===
For other attachments, the function returns a media icon if the <var>$icon</var> parameter is set to <tt>true</tt>.
+
  
To get attachment IDs dynamically in a template, you can use [[Template_Tags/get_posts|get_posts('post_type=attachment')]], etc.
+
<?php echo wp_get_attachment_link( 13 ); ?>
  
== Parameters ==
+
テンプレート内で添付ファイルの ID を動的に取得するには、<tt>[[関数リファレンス/get_children|get_children()]]</tt> などを使うとよいでしょう。
  
{{Parameter|$attachment_id|integer|ID of the desired attachment.}}
+
== パラメータ<span id="Parameters"></span> ==
  
{{Parameter|$size|string/array|Image size. Either a string keyword (thumbnail, medium, large or full) or a 2-item array representing width and height in pixels, e.g. array(32,32). As of [[Version 2.5]], this parameter does not affect the size of media icons, which are always shown at their original size.|Optional|'thumbnail'}}
+
{{Parameter|$id|整数|取得したい添付ファイルの ID。|オプション|[[ループ]]内で使った場合、現在の投稿 ID (添付ファイルだけを表示するループである必要があります)。}}
 +
{{Parameter|$size|文字列&#124;配列|画像の大きさ。キーワードとなる文字列(<tt>thumbnail</tt>, <tt>medium</tt>, <tt>large</tt>, <tt>full</tt>)、または [[関数リファレンス/add image size|<tt>add_image_size()</tt>]] で定義したカスタムサイズのキーワード、もしくは幅と高さをピクセルで指定する要素 2 つの配列、例えば <code>array( 32, 32 )</code>。[[Version 2.5]] 以降、このパラメータはメディアアイコンの大きさを変えることができず、常に元の大きさで表示されます。|オプション|<tt>'thumbnail'</tt>}}
 +
{{Parameter|$permalink|真偽値|添付ファイルや画像への直リンク (デフォルトまたは <tt>false</tt>)、または添付ページへのリンク (<tt>true</tt>)。|オプション|'false'}}
 +
{{Parameter|$icon|真偽値|添付ファイルを表すメディアアイコンを使う (<tt>true</tt> のとき)。|オプション|'false'}}
 +
{{Parameter|$text|文字列/真偽値|添付へのテキストリンクを表示する (空ではない文字列を指定したとき)。|オプション|'false'}}
 +
{{Parameter|$attr|文字列/配列|<tt>[[テンプレートタグ/wp get attachment image|wp_get_attachment_image()]]</tt> へ渡す画像属性のリスト。|オプション|空文字列}}
  
Instead of using an array which requires checking all of the image sizes, you should consider registering a size with <code>add_image_size</code> so that a cropped version is generated.  It's much more efficient than having to find the closest sized image.
+
== 用例<span id="Examples"></span> ==
  
{{Parameter|$icon|boolean|Use a media icon to represent the attachment.|Optional|'False'}}
+
例えば次のような形式の文字列を返します。
:* <tt>1 (True)</tt>
+
:* <tt>0 (False)</tt> - Default
+
 
+
{{Parameter|$attr|string/array|Query string or array of attributes.|Optional}}
+
 
<pre>
 
<pre>
$default_attr = array(
+
<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>
'src' => $src,
+
'class' => "attachment-$size",
+
'alt=> trim(strip_tags( get_post_meta($attachment_id, '_wp_attachment_image_alt', true) )),
+
);
+
 
</pre>
 
</pre>
  
The <tt>$attr</tt> argument is merged with WordPress's default attributes and passed through the <tt>wp_get_attachment_image_attributes</tt> filter.
+
=== 中サイズの添付へのリンク<span id="Show_medium_size_attachment"></span> ===
  
== Examples ==
+
WordPress のデフォルトの画像サイズは <tt>"thumbnail"</tt> (サムネイル)、<tt>"medium"</tt> (中)、<tt>"large"</tt> (大)、<tt>"full"</tt> (フルサイズ) です。画像サイズは WordPress 管理画面の設定→[[Settings Media SubPanel|メディア設定]]から変更できます。
=== Display all images as a list ===
+
  
To display all of the images and titles attached to a certain page and display them as a list of bullets you can use the following:
+
<pre><?php
 +
    $id = 9; // 添付の ID
 +
    echo wp_get_attachment_link( $id, 'medium' );
 +
?></pre>
  
<pre><ul>
+
=== 添付ページへのリンク<span id="Link_attachment_to_post"></span> ===
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();   
+
  
$args = array(
+
この例は添付ページヘのリンクを表示します。
  'post_type' => 'attachment',
+
  'numberposts' => -1,
+
  'post_status' => null,
+
  'post_parent' => $post->ID
+
  );
+
  
  $attachments = get_posts( $args );
+
<pre><?php
    if ( $attachments ) {
+
    $id = 9; // 添付の ID
        foreach ( $attachments as $attachment ) {
+
    echo wp_get_attachment_link( $id, 'thumbnail', true );  
          echo '<li>';
+
?></pre>
          echo wp_get_attachment_image( $attachment->ID, 'full' );
+
          echo '<p>';
+
          echo apply_filters( 'the_title', $attachment->post_title );
+
          echo '</p></li>';
+
          }
+
    }
+
  
endwhile; endif; ?>
+
=== テキストによる添付へのリンク<span id="Link_text_to_attachment"></span> ===
</ul></pre>
+
  
== Return Value ==
+
この例は添付ファイルヘのリンクを "My link text" という文字列で表示します。
an HTML img element or empty string on failure.
+
  
== Change Log ==
+
<pre><?php
Since: 2.5.0
+
    $id = 9; // 添付のID
 +
    echo wp_get_attachment_link( $id, '' , false, false, 'My link text' );
 +
?></pre>
  
== Source File ==
+
=== 投稿タイトルによる添付へのリンク<span id="Link_post_title_to_attachment"></span> ===
  
<tt>wp_get_attachment_image()</tt> is located in {{Trac|wp-includes/media.php}}.
+
この例は添付ファイルへのリンクを投稿タイトルで表示します。
  
== Related ==
+
<pre><?php
 +
    $id = 9; // 添付のID
 +
    echo wp_get_attachment_link( $id, '' );
 +
?></pre>
 +
 
 +
=== アイコンディレクトリを変更する<span id="Change_icon_directory"></span> ===
 +
 
 +
WordPress はブログや管理画面で、メディアアイコンを使って[[Using_Image_and_File_Attachments|添付ファイル]]を表すことができます。画像の場合はサムネイルが表示されますが、その他のメディアタイプはその種類の名前がついたイメージファイル (例: audio.jpg) を ''wp-includes/images/crystal/'' ディレクトリから検索します。
 +
 
 +
この例は、先のディレクトリをどのように "images" フォルダへ変更するのかという手順を説明します。フォルダは ''wp-content/themes/yourtheme/images'' にあるとします。フォルダを作成し、「メディアタイプが画像の添付ファイル」を入れてください。WordPress にディレクトリを変えたことを通知するには、使用中のテーマの [[Theme_Development#Functions_File|functions.php]] ファイルに次のコードを書き込んでください。
 +
 
 +
<pre>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';
 +
}
 +
</pre>
 +
 
 +
== 参考<span id="Notes"></span> ==
 +
 
 +
リンクではなく画像だけが欲しい場合は、<tt>[[テンプレートタグ/wp get attachment image|wp_get_attachment_image()]]</tt> を使ってください。
 +
 
 +
== 変更履歴<span id="Change_Log"></span> ==
 +
 
 +
2.5.0にて導入されました。
 +
 
 +
== ソースファイル<span id="Source_File"></span> ==
 +
 
 +
<tt>wp_get_attachment_link()</tt> は {{Trac|wp-includes/post-template.php}} にあります。
 +
 
 +
== 関連項目<span id="Related"></span> ==
  
 
{{Attachment Tags}}
 
{{Attachment Tags}}
  
{{Tag Footer}}
+
{{原文|Function Reference/wp get attachment link|161771}} <!-- 22:07, 4 November 2017 Tazotodua 版 -->
 +
 
 +
{{DEFAULTSORT:Wp_get_attachment_link}}
 +
[[Category:添付ファイル]]
  
[[Category:Functions]]
+
[[en:Function Reference/wp get attachment link]]
[[Category:New page created]]
+
[[it:Riferimento funzioni/wp get attachment link]]

2018年7月30日 (月) 19:58時点における最新版

説明

添付ファイルまたはページへの 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最新版との差分