时间:2024-03-30
这里有一个函数,能够返回附件文件的HTML图像元素。如果没有找到附件,该函数会返回空字符串。
<?php wp_get_attachment_image( $attachment_id, $size, $icon, $attr ); ?>
当附件是一张图片时,此函数会返回指定尺寸的图片。而其他类型的附件则会返回代表该附件类型的多媒体图标,如果将$icon设置为true的话。
如果需要在模板中动态获取多媒体ID,则可以使用get_posts('post_type=attachment')
。
<?php echo wp_get_attachment_image(1); ?>
需要注意的是,如果附件不是一张图片,则函数返回针对该附件类型的多媒体图标而不是任何图片。作为备选方案,可以使用get_the_attachment_link
函数来获取附件的链接。
参数 数据类型 是否必需 描述 默认值 $attachment_id 整数 是 附件ID 无 $size 字符串 | 数组 否 需要显示的图片附件的尺寸:可以是以下尺寸名称或尺寸数组,如:array(32,32) thumbnail
当需要使用图片的尺寸数组时,除了使用图片的尺寸数组外,还可以使用add_image_size
函数注册一个图片尺寸。这样能够生成一个裁剪后的图片,比起使用数组更方便和有效。
$icon
(boolean) (可选) : 当需要代表附件的媒体图标时,默认值为False。
1(True)
0(False)–默认值
$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元素或空字符串(如果获取失败的话)。
Copyright © 2019-2024 thinkphp.xyz