Функция для получения URL исходного загруженного изображения - полный размер

11

В настоящее время я использую следующий код для получения URL-адреса избранного изображения в WordPress:

URL="<?php if (function_exists('wp_get_attachment_thumb_url')) {echo wp_get_attachment_thumb_url(get_post_thumbnail_id($post->ID), 'big-size'); }?>"

Но код возвращает только меньшую (150x150px) миниатюру. Вот что я получаю:

http://sitename.com/wp-content/uploads/imagename-150x150.png

У меня вопрос, как мне заставить его вернуть URL для исходного изображения (полноразмерное изображение), который будет:

http://sitename.com/wp-content/uploads/imagename.png

Большое спасибо за ваше время и помощь.

theshorttree
источник

Ответы:

27

В ядро ​​WordPress встроены четыре допустимых размера.

the_post_thumbnail('thumbnail');    // Thumbnail (default 150px x 150px max)
the_post_thumbnail('medium');       // Medium resolution (default 300px x 300px max)
the_post_thumbnail('medium_large'); // Medium Large resolution (default 768px x 0(means automatic height by ratio) max) since WP version 4.4
the_post_thumbnail('large');        // Large resolution (default 640px x 640px max)
the_post_thumbnail('full');         // Original image resolution (unmodified)

Последний тот, который вы ищете.

Следующий возвращает URL.

<?php
  $src = wp_get_attachment_image_src( $attachment_id, $size, $icon );
  echo $src[0];

Весь код может выглядеть так:

<?php
  $src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full', false );
  echo $src[0]; // the url of featured image

Более подробную информацию можно найти здесь .

SLH
источник
Спасибо за Ваш ответ. Я на самом деле ищу функцию для возврата «URL» изображения, а не само изображение. Поэтому я сомневаюсь, что the_post_thumbnail будет работать для этого. Или, возможно, я не прав?
Theshorttree
@theshorttree смотрите мой обновленный ответ.
SLH
Это полностью сработало, большое спасибо за ваше время и ответ!
The Shorttree
1

Немного опоздал на вечеринку,

но

get_the_post_thumbnail_url(null,'full'); выполняет именно ту работу, где full можно заменить на thumbnail, medium, medium_large или large.

user206904
источник
1

Для тех, кто приезжает сюда после октября 2019 года

WordPress ввел «порог большого изображения» с версии 5.3 ( ссылка )

Короче говоря, все изображения размером более 2560 пикселей будут уменьшены при загрузке. Вызов формата изображения «полный» больше не всегда возвращает исходное нетронутое изображение, но может возвращать эту версию 2560px и иметь «-scaled» в URL и пути.

Вы все еще можете получить URL и путь к исходно загруженным изображениям с помощью следующих функций: wp_get_original_image_path()или wp_get_original_image_url(). Хотя в документации предлагается добавить новый размер "original_image", функции wp_get_attachment_image, wp_get_attachment_image_src или аналогичные по-прежнему возвращают уменьшенную версию. Так что, насколько я могу судить, нет способа получить исходные размеры файла и т. Д.

Vinobe
источник