wp_get_original_image_url()WP 5.3.0

Получает URL оригинальной картинки (не её уменьшенной копии) по указанному ID вложения.

Эта функция ведет себя также как wp_get_attachment_url(), кроме случая когда была загружена большая картинка и для нее была создана копия с умеренным размером. В этом случае функция верен URL исходного изображения, а не копии, как wp_get_attachment_url(). Подробнее про это читайте в этой заметке.

Используйте wp_get_original_image_path(), когда нужно получить путь, а не URL оригинальной картинки.

Хуки из функции

Возвращает

Строку|false. URL картинки вложения, false если вложение не является картинкой или если указанного вложения нет.

Использование

wp_get_original_image_url( $attachment_id );
$attachment_id(число) (обязательный)
ID картинки вложения.

Примеры

0

#1 Получение оригинального размера

Допустим мы загрузили на сайт картинку большого размера 8000x6000px. И теперь при попытке получить большую картинку мы получаем URL на большую (2056x1650px), но не оригинальную картинку, а нам нужно именно оригинал. Для этого используем эту функцию.

$attach_id = 200;

wp_get_attachment_url( $attach_id );
// http://example.com/wp-content/uploads/2020/03/jpg-big-image-scaled.jpeg

wp_get_original_image_url( $attach_id ); 
// http://example.com/wp-content/uploads/2020/03/jpg-big-image.jpeg

Список изменений

С версии 5.3.0 Введена.

Код wp_get_original_image_url() WP 6.5.2

function wp_get_original_image_url( $attachment_id ) {
	if ( ! wp_attachment_is_image( $attachment_id ) ) {
		return false;
	}

	$image_url = wp_get_attachment_url( $attachment_id );

	if ( ! $image_url ) {
		return false;
	}

	$image_meta = wp_get_attachment_metadata( $attachment_id );

	if ( empty( $image_meta['original_image'] ) ) {
		$original_image_url = $image_url;
	} else {
		$original_image_url = path_join( dirname( $image_url ), $image_meta['original_image'] );
	}

	/**
	 * Filters the URL to the original attachment image.
	 *
	 * @since 5.3.0
	 *
	 * @param string $original_image_url URL to original image.
	 * @param int    $attachment_id      Attachment ID.
	 */
	return apply_filters( 'wp_get_original_image_url', $original_image_url, $attachment_id );
}