получить url изображения среднего размера из медиа-библиотеки

9 мар. 2012 г., 19:50:46
Просмотры: 77.2K
Голосов: 16

Привет, я использую код для создания слайдшоу с функциональностью lytebox - следующий код используется в цикле для последовательного получения каждого изображения, прикрепленного к записи.

Похоже, что он получает только большое изображение, хотя я установил значение medium - есть идеи, как сделать так, чтобы wp_get_attachment_url($attachment->ID, 'medium', false, false) получал изображения среднего размера?

спасибо

                                <?php
$argsThumb = array(
    'order'          => 'DESC',
    'post_type'      => 'attachment',
    'post_parent'    => $post->ID,
    'post_mime_type' => 'image',
    'post_status'    => null
);
$attachments = get_posts($argsThumb);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo '<div class="images"><a class="lytebox" href="' .wp_get_attachment_url($attachment->ID, 'medium', false, false). '"><img src="'.wp_get_attachment_url($attachment->ID, 'medium', false, false).'" /><div class="caption">'.apply_filters('the_content', $attachment->post_content).'</div></a></div>';
    }

}

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

wp_get_attachment_url() возвращает только URL оригинального файла вложения, эта функция принимает только ID вложения в качестве параметра.

Вместо неё используйте wp_get_attachment_image_src() или wp_get_attachment_image().

9 мар. 2012 г. 22:08:48
Комментарии

ни один из этих вариантов, кажется, не возвращает URL, верно?

JorgeLuisBorges JorgeLuisBorges
12 мар. 2012 г. 18:55:51

wp_get_attachment_src() возвращает массив, и первый параметр — это URL изображения. Подробности см. на указанной странице Codex.

Mamaduka Mamaduka
12 мар. 2012 г. 19:01:47

Актуальное обновление для тех, кто нашел это спустя столько лет. Нужная вам функция называется wp_get_attachment_image_url().

Все, что нужно сделать — передать ID вложения и размер, и функция вернет либо строку с URL изображения, либо false.

Tanner Mann Tanner Mann
17 окт. 2020 г. 07:22:49
2
12

вывести следующее: wp_get_attachment_image_src( $post->ID, 'medium')[0]; для получения URL вложения изображения среднего размера.

19 авг. 2015 г. 21:13:15
Комментарии

Доступ к элементам массива через вызов функции — это функция PHP 5.4+. Не то чтобы это было проблемой. Просто чтобы все знали.

tfrommen tfrommen
19 авг. 2015 г. 22:25:43

Обновление для тех, кто нашел это спустя столько лет. Функция, которая вам нужна, называется wp_get_attachment_image_url().

Все, что вам нужно сделать — передать ID вложения и размер, и она вернет либо строку с URL изображения, либо false.

Tanner Mann Tanner Mann
24 окт. 2020 г. 00:32:46
0

Обновление для тех, кто нашел это спустя столько лет. Функция, которая вам нужна, называется wp_get_attachment_image_url(). Документация здесь.

Всё, что вам нужно сделать — передать ID вложения и размер, и она вернет либо строку с URL изображения, либо false.

17 окт. 2020 г. 07:24:27
0

Я не понимаю, как приведенный выше ответ решает вопрос. wp_get_attachment_image_src требует ID вложения, а не ID записи. <?php echo esc_url((wp_get_attachment_image_src( get_post_thumbnail_id(get_the_id()), 'medium')[0])?>

3 апр. 2020 г. 20:08:48