函数描述
返回附件文件的 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
- (integer) (必需) 附件 ID
- 默认:
None
- 默认:
- $size
- (string/array) (可选) 需要显示的图片附件的尺寸:可是一下尺寸名称 (thumbnail, medium, large, 或 full), 或一个两个元素的数组,两个元素分别为图片的宽度和高度的像素值,如:array(32,32),在WordPress 2.5中,此参数对媒体图标无效,只能显示原始尺寸的媒体图标。
除了使用图片的尺寸数组,你还可以使用 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元素或者空字符串(获取失败时)。