wp get attachment image 返回附件文件的HTML图像元素

函数描述

返回附件文件的 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元素或者空字符串(获取失败时)。

支付确认
需要支付
¥0
二维码刷新中