wp_calculate_image_sizes

函数
wp_calculate_image_sizes ( $size, $image_src = null, $image_meta = null, $attachment_id = 0 )
参数
  • (string|int[]) $size Image size. Accepts any registered image size name, or an array of width and height values in pixels (in that order).
    Required:
  • (string) $image_src Optional. The URL to the image file. Default null.
    Required:
    Default: null
  • (array) $image_meta Optional. The image meta data as returned by 'wp_get_attachment_metadata()'. Default null.
    Required:
    Default: null
  • (int) $attachment_id Optional. Image attachment ID. Either `$image_meta` or `$attachment_id` is needed when using the image size name as argument for `$size`. Default 0.
    Required:
返回值
  • (string|false) A valid source size value for use in a 'sizes' attribute or false.
定义位置
相关方法
wp_calculate_image_srcsetwp_update_image_subsizeswp_create_image_subsizeswp_ajax_media_create_image_subsizeswp_get_attachment_image_sizes
引入
4.4.0
弃用
-

wp_calculate_image_sizes: 这个函数根据图像标签的尺寸、页面上的可用空间和用户的设备来计算其尺寸属性。

为图片创建一个’sizes’属性值。

function wp_calculate_image_sizes( $size, $image_src = null, $image_meta = null, $attachment_id = 0 ) {
	$width = 0;

	if ( is_array( $size ) ) {
		$width = absint( $size[0] );
	} elseif ( is_string( $size ) ) {
		if ( ! $image_meta && $attachment_id ) {
			$image_meta = wp_get_attachment_metadata( $attachment_id );
		}

		if ( is_array( $image_meta ) ) {
			$size_array = _wp_get_image_size_from_meta( $size, $image_meta );
			if ( $size_array ) {
				$width = absint( $size_array[0] );
			}
		}
	}

	if ( ! $width ) {
		return false;
	}

	// Setup the default 'sizes' attribute.
	$sizes = sprintf( '(max-width: %1$dpx) 100vw, %1$dpx', $width );

	/**
	 * Filters the output of 'wp_calculate_image_sizes()'.
	 *
	 * @since 4.4.0
	 *
	 * @param string       $sizes         A source size value for use in a 'sizes' attribute.
	 * @param string|int[] $size          Requested image size. Can be any registered image size name, or
	 *                                    an array of width and height values in pixels (in that order).
	 * @param string|null  $image_src     The URL to the image file or null.
	 * @param array|null   $image_meta    The image meta data as returned by wp_get_attachment_metadata() or null.
	 * @param int          $attachment_id Image attachment ID of the original image or 0.
	 */
	return apply_filters( 'wp_calculate_image_sizes', $sizes, $size, $image_src, $image_meta, $attachment_id );
}

常见问题

FAQs
查看更多 >