函数描述
返回附件文件的 HTML 图像元素,如果没有找到附件,返回空字符串。
使用方法
<?php wp_get_attachment_image( $attachment_id, $size, $icon, $attr ); ?>
默认使用
<?php echo wp_get_attachment_image( 1 ); ?>
如果附件是一张图片,此函数返回指定尺寸的图片,其他类型的附件,如果$icon 设置为true,返回,代表该附件类型的多媒体图标。
如果需要在模板中动态获取多媒体 ID,可以使用 get_posts('post_type=attachment')
参数
参数 | 数据类型 | 是否必需 | 描述 | 默认值 |
---|---|---|---|---|
$attachment_id | 整数 | 是 | 附件 ID | 无 |
$size | 字符串|数组 | 否 | 需要显示的图片附件的尺寸:可是一下尺寸名称或尺寸数组、如:array(32,32) | thumbnail |
除了使用图片的尺寸数组,你还可以使用 add_image_size
函数注册一个图片尺寸,这样会生成一个裁剪后的图片,这比数组使用起来更方便有效。 $icon (boolean) (可选) 使用媒体图标代表附件 默认: ‘False’
- 1 (True)
- 0 (False) – Default
$attr (string/array) (可选) 查询字符串或属性数组 默认: None
$default_attr = array(
'src' => $src,
'class' => "attachment-$size",
'alt' => trim(strip_tags( get_post_meta($attachment_id, '_wp_attachment_image_alt', true) )),
);
$attr 参数合并了WordPress默认属性和传递到 wp_get_attachment_image_attributes filter的属性。
使用示例
显示全部图片为一个列表
需要以列表的形式显示附加到一个页面的中的所有图片和标题,使用下面的代码:
<ul>
<?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 );
if ( $attachments ) {
foreach ( $attachments as $attachment ) {
echo '<li>';
echo wp_get_attachment_image( $attachment->ID, 'full' );
echo '<p>';
echo apply_filters( 'the_title', $attachment->post_title );
echo '</p></li>';
}
}
endwhile; endif; ?>
</ul>
返回值
一个HTML元素或者空字符串(获取失败时)。