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

本站提供 WordPress主题定制开发服务

本站长期承接 WordPress主题、插件、基于 WooCommerce 的商店商城开发业务。 我们有 8 年WordPress开发经验,如果你想 用WordPress开发网站, 请联系微信: iwillhappy1314,或邮箱: 4626395@gmail.com 咨询。

发表评论

您的电子邮箱地址不会被公开。

*