get_attachment_link()


WordPressのget_attachment_link()関数は、指定された添付ファイルのURLを取得するために使用されます。この関数は、メディアファイルのリンクを生成する際に役立ちます。

構文

get_attachment_link( int|WP_Post $post = null, bool $leavename = false );

引数の説明:

  • $post(int|WP_Post) — 添付ファイルのIDまたはWP_Postオブジェクト。デフォルトはnullで、現在の投稿が使用されます。
  • $leavename(bool) — リンクに投稿スラッグを含めるかどうか。デフォルトはfalse。

例1: 添付ファイルのリンクを取得

この例では、特定の添付ファイルのリンクを取得します。

<?php echo get_attachment_link( get_the_ID() ); ?>

例2: スラッグを含まないリンクを取得

この例では、スラッグを含まない添付ファイルのリンクを取得します。

<?php echo get_attachment_link( get_the_ID(), true ); ?>

例3: カスタム投稿タイプの添付ファイルリンクを取得

カスタム投稿タイプの添付ファイルリンクを取得する例です。

<?php echo get_attachment_link( get_post( 456 ) ); ?>

例4: 特定の添付ファイルのリンクを表示

特定の添付ファイルIDを使用してリンクを表示します。

<?php echo get_attachment_link( 789 ); ?>

例5: ループ内で添付ファイルリンクを取得

ループ内で各添付ファイルのリンクを取得します。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); echo get_attachment_link( get_the_ID() ); endwhile; endif; ?>

例6: 添付ファイルのリンクをリスト表示

すべての添付ファイルのリンクをリスト形式で表示します。

<?php $attachments = get_posts( array( 'post_type' => 'attachment', 'posts_per_page' => -1 ) ); foreach ( $attachments as $attachment ) { echo get_attachment_link( $attachment->ID ) . '<br>'; } ?>

注意点

  • get_attachment_link()は、添付ファイルのURLを返しますが、ファイルが存在しない場合や権限がない場合は空の文字列を返す可能性があります。
  • リンクをカスタマイズする場合は、$leavename引数を適切に使用してください。

関連機能: