wp_get_attachment_caption()


WordPressの関数wp_get_attachment_caption()は、指定された添付ファイルのキャプションを取得するために使用されます。この関数は、画像やその他のメディアの説明を取得する際に便利です。

構文

wp_get_attachment_caption( int $attachment_id );
  • $attachment_id (int) — 添付ファイルのID。取得したいキャプションが関連付けられているファイルを指定します。

関数はキャプションテキストを返します。キャプションが設定されていない場合はfalseを返します。

使用例

例 1: 添付ファイルのキャプションを表示

指定した添付ファイルIDのキャプションを取得して表示します。

<?php echo wp_get_attachment_caption( get_post_thumbnail_id() ); ?>

例 2: 投稿のサムネイルキャプションを表示

現在の投稿のサムネイル画像のキャプションを取得します。

<?php
$caption = wp_get_attachment_caption( get_post_thumbnail_id( get_the_ID() ) );
if ( $caption ) {
    echo '<p>' . esc_html( $caption ) . '</p>';
}
?>

例 3: 添付ファイルギャラリーのキャプションをリストとして表示

複数の添付ファイルのキャプションをリスト形式で表示します。

<?php
$attachments = get_posts( array(
    'post_type' => 'attachment',
    'posts_per_page' => -1,
) );
if ( $attachments ) {
    echo '<ul>';
    foreach ( $attachments as $attachment ) {
        $caption = wp_get_attachment_caption( $attachment->ID );
        if ( $caption ) {
            echo '<li>' . esc_html( $caption ) . '</li>';
        }
    }
    echo '</ul>';
}
?>

例 4: キャプションが存在する場合のみ追加情報を表示

キャプションが空でない場合に特定のメッセージを表示します。

<?php
$caption = wp_get_attachment_caption( 42 ); // ID 42の添付ファイルを例に
if ( $caption ) {
    echo 'この画像の説明: ' . esc_html( $caption );
} else {
    echo 'この画像には説明がありません。';
}
?>

例 5: カスタムHTMLでキャプションを囲む

キャプションをカスタムHTMLで表示します。

<?php
$caption = wp_get_attachment_caption( get_post_thumbnail_id() );
if ( $caption ) {
    echo '<div class="custom-caption">' . esc_html( $caption ) . '</div>';
}
?>

注意事項

  • $attachment_idが無効な場合、falseが返されます。
  • キャプションはデータベースから取得されるため、必要に応じてHTMLエスケープを使用してください。

関連機能: