wp_get_attachment_image_url( int $attachment_id, string|int[] $size = ‘thumbnail’, bool $icon = false ): string|false

Gets the URL of an image attachment.

Parameters

$attachment_idintrequired
Image attachment ID.
$sizestring|int[]optional
Image size. Accepts any registered image size name, or an array of width and height values in pixels (in that order). Default 'thumbnail'.

Default:'thumbnail'

$iconbooloptional
Whether the image should be treated as an icon.

Default:false

Return

string|false Attachment URL or false if no image is available. If $size does not match any registered image size, the original image URL will be returned.

Source

function wp_get_attachment_image_url( $attachment_id, $size = 'thumbnail', $icon = false ) {
	$image = wp_get_attachment_image_src( $attachment_id, $size, $icon );
	return isset( $image[0] ) ? $image[0] : false;
}

Changelog

VersionDescription
4.4.0Introduced.

User Contributed Notes

  1. Skip to note 5 content
    add_theme_support( 'post-thumbnails' );
    add_image_size( 'home-slide-img-mobile', 640, 1072, true ); //resize, crop in functions.php

    Now let display somewhere:

    $imgid = 6; //need to get it dynamically
    $imgurldesktop = wp_get_attachment_image_url( $imgid, '' ); //use default image size
    $imgurlmobile = wp_get_attachment_image_url( $imgid, 'home-slide-img-mobile' ); //use custom set size
  2. Skip to note 6 content
    <?php $attachment_image = wp_get_attachment_url( get_post_thumbnail_id() ); ?>
    <link rel="preload" as="image" href="<?php echo esc_url( $attachment_image ); ?>">

    Add this snippet to the head section in header.php to preload the attachment image on every page/post.

You must log in before being able to contribute a note or feedback.