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

3 нояб. 2014 г., 19:27:18
Просмотры: 75.5K
Голосов: 15

В настоящее время я использую следующий код для получения 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

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

0
Все ответы на вопрос 3
4
41

В WordPress встроены четыре стандартных размера изображений.

the_post_thumbnail('thumbnail');    // Миниатюра (по умолчанию максимум 150px x 150px)
the_post_thumbnail('medium');       // Среднее разрешение (по умолчанию максимум 300px x 300px)
the_post_thumbnail('medium_large'); // Средне-большое разрешение (по умолчанию максимум 768px x 0(автоматическая высота по пропорциям)) начиная с версии WP 4.4
the_post_thumbnail('large');        // Большое разрешение (по умолчанию максимум 640px x 640px)
the_post_thumbnail('full');         // Оригинальное разрешение изображения (без изменений)

Последний вариант — это то, что вам нужно.

Следующий код возвращает 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]; // URL изображения записи

Больше информации можно найти здесь.

3 нояб. 2014 г. 19:29:39
Комментарии

Спасибо за ответ. На самом деле я ищу функцию, которая возвращает "URL" изображения, а не само изображение. Поэтому сомневаюсь, что the_post_thumbnail подойдет для этого. Или, возможно, я ошибаюсь?

theshorttree theshorttree
3 нояб. 2014 г. 19:32:23

@theshorttree посмотрите мой обновленный ответ.

SLH SLH
3 нояб. 2014 г. 19:34:23

Это сработало, большое спасибо за ваше время и ответ!

theshorttree theshorttree
3 нояб. 2014 г. 19:56:45

Все еще актуально в 2022. Я хотел получить миниатюру, но the_post_thumbnail_url() возвращал полноразмерные изображения, потому что значение параметра по умолчанию - 'post-thumbnail' вместо 'thumbnail', а моя новая пользовательская тема не имела этого. Благодаря этому списку, я нашел решение для отображения миниатюр: <img class="post-thumb" src="<?php the_post_thumbnail_url('thumbnail') ?>">

nothingisnecessary nothingisnecessary
26 июл. 2022 г. 05:15:58
1

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

Начиная с версии 5.3 WordPress ввел "Порог для больших изображений" (Ссылка)

Коротко говоря, все изображения крупнее 2560px будут уменьшены при загрузке. При запросе формата изображения "full" больше не всегда будет возвращаться оригинальное неизмененное изображение, а может вернуться версия 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 и подобные по-прежнему возвращают уменьшенную версию. Насколько я могу судить, нет способа получить оригинальные размеры файла и т.д.

3 мая 2020 г. 02:08:55
Комментарии

Это должно быть текущим принятым ответом!

MCFreddie777 MCFreddie777
25 мар. 2021 г. 17:12:38
0

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

но

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

10 нояб. 2018 г. 12:38:25