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


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

Похоже, что он вытягивает только большое изображение, даже если я установил значение "средний" - есть идеи, как я могу получить .wp_get_attachment_url($attachment->ID, "средний", 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>';
}

}

 11
Author: JorgeLuisBorges, 2012-03-09

4 answers

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

Использовать wp_get_attachment_image_src() или wp_get_attachment_image() вместо этого.

 23
Author: Mamaduka, 2019-04-05 16:48:54

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

 10
Author: Rowbe, 2015-08-19 18:13:15

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

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

 1
Author: thenomadicmann, 2020-10-17 04:24:27

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

 0
Author: Latheesh V M Villa, 2020-04-03 17:08:48