wp_get_attachment_image_src 获取图片附件的url,宽度、高度等src信息

Posted in:
Update time:2020-10-27

函数描述

返回图片附件的信息数组,数组中: (0) url, (1) width, (2) height, and (3) scale (或代表附件的图标).

通常使用返回数组的第一个元素来获取图片附件的URL (src)。

wp_get_attachment_image() 使用 wp_get_attachment_image_src() 来填充 img的宽度、高度和src属性、

Usage

<?php wp_get_attachment_image_src( $attachment_id, $size, $icon ); ?>

function parameter

parametersdata typeRequired or notdescriptivedefault value
$attachment_idinteger (math.)be附件IDnot have
$size字符串|数字clogged图片尺寸名称或尺寸数组thumbnail
$icon布尔值clogged是否为媒体图标false

return value

一个包含以下元素的数组:

  • [0] => url
  • [1] => width
  • [2] => height
  • [3] => boolean: 如果 $url 是一个缩放后的图片,该值为true,如果是原始图片或没有找到图片,该值为false。

布尔值:如果没有找到媒体,返回 false The

usage example

默认使用方法

<?php 
$attachment_id = 8; // 附件ID

$image_attributes = wp_get_attachment_image_src( $attachment_id ); // returns an array
if( $image_attributes ) {
?> 
<img src="<?php echo $image_attributes[0]; ?>" width="<?php echo $image_attributes[1]; ?>" height="<?php echo $image_attributes[2]; ?>">
<?php } ?>

修改媒体图标

WordPress 在管理界面中,如果媒体图标可用,可以使用媒体图标代表附件,对图片附件来说,返回图片的缩略图,对其他类型的媒体来说,在wp-includes/images/crystal/ 中查找代表该媒体文件类型的媒体图标(如audio.jpg)。

此示例为我们演示了怎么使用我们主题目录中的媒体图标替换默认的媒体类型图标。在主题目录中创建文件夹: wp-content/themes/yourtheme/images. 然后把媒体中类型图标放在这个目录中,然后把下面一段代码放到主题的functions.php中,告诉WordPress媒体图标目录修改了。

add_filter( 'icon_dir', 'my_theme_icon_directory' );
add_filter( 'icon_dir_uri', 'my_theme_icon_uri' );

function my_theme_icon_directory( $icon_dir ) {
	return get_stylesheet_directory() . '/images';
}

function my_theme_icon_uri( $icon_dir ) {
	return get_stylesheet_directory_uri() . '/images'; 
}

显示文章中的第一张图片

在 get_children() 中查阅完整代码。

We offer WordPress Themes and Plugins Custom Development Services

This site has long undertaken WordPress themes, plugins, WooCommerce-based store mall development business. We have 10 years of experience in WordPress development, if you want to Developing Websites with WordPress, please contact WeChat: iwillhappy1314 or email: amos@wpcio.com for inquiries.

发表回复

Your email address will not be published. 必填项已用 * 标注

*