wp_get_original_image_path() WP 5.3.0

Отримує шлях оригінальної картинки (не її зменшеної копії) за вказаним ID вкладення.

Ця функція схожа на get_attached_file() , проте деякі зображення можуть бути оброблені після завантаження. Наприклад, при завантаженні великих фото, докладніше див. нижче. У цьому випадку прикріплений “full (повний)” розмір файлу зазвичай замінюється обробленою версією вихідного зображення. Ця функція повертає шлях до завантаженого файлу.

Використовуйте wp_get_original_image_url() , коли потрібно отримати URL, а не шлях оригінального зображення.

Використовувати цю функцію має сенс тільки коли була завантажена дуже велика картинка – більше 2560px в ширину або висоту.

Якщо картинка була завантажена в WordPress 5.2 або нижче, або картинка має розміри за висотою та шириною менше, ніж зазначено у фільтрі () обрізання зображення повертати шлях до обрізаної версії, а не до оригіналу.

Так відбувається, коли у картинки розміри менше, ніж зазначені у фільтрі _wp_image_meta_replace_original() , яка додає параметр original_imageметадані (в цьому параметрі зберігається оригінальний шлях до картинки), саме цим параметром користується функція wp_get_original_image_path().

Докладніше, читайте в окремому дописі .

Функція перевірять, що вказаний вкладення є саме картинкою, інакше поверне false. Така перевірка робить код стабільнішим.

1 раз – 0.0014172 сек
(дуже повільно) | 50000 разів – 1.04 сек
(швидко)

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

Повертає

Строку|false. Шлях до вихідного файлу зображення або false, якщо вкладення не є зображенням або вказаного вкладення немає.

Використання

wp_get_original_image_path($attachment_id);
$attachment_id
(число) (обов’язковий)
ID вкладення (зображення).

Приклади

0

#1 Виведемо на екран шлях до картинки

$attach_path = wp_get_original_image_path(516);

if ( $attach_path ) {
	echo $attach_path;
}
else {
	echo 'Цей файл не є зображенням або вказаного зображення немає';
}

список змін

З версії 5.3.0Введено.
З версії 5.4.0Added $unfiltered parameter.

Код wp_get_original_image_path() WP 6.0.2

function wp_get_original_image_path( $attachment_id, $unfiltered = false ) {
	if ( ! wp_attachment_is_image( $attachment_id ) ) {
		return false;
	}

	$image_meta = wp_get_attachment_metadata( $attachment_id );
	$ image_file = get_attached_file ($ attachment_id, $ unfiltered);

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

	/**
	 * Filters path to original зображення.
	 *
	 * @ Since 5.3.0
	 *
	 * @param string $original_image Path to original image file.
	 * @param int $attachment_id Attachment ID.
	 */
	return apply_filters( 'wp_get_original_image_path', $original_image, $attachment_id );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *