получите 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>';
}
}
4 answers
wp_get_attachment_url()
возвращает только URL-адрес исходного файла вложения, эта функция принимает только идентификатор вложения в качестве параметра.
Использовать wp_get_attachment_image_src()
или wp_get_attachment_image()
вместо этого.
Повторите следующее: wp_get_attachment_image_src( $post->ID, 'medium')[0];
в URL-адрес вложения для изображения среднего размера.
Обновление для тех, кто нашел это все эти годы спустя. Функция, которую вы хотите, называется wp_get_attachment_image_url()
. Документация здесь.
Все, что вам нужно сделать, это указать идентификатор вложения и размер, и он вернет либо строку URL-адреса изображения, либо значение false.
Я не знаю, как вышеприведенный ответ дает ответ.
wp_get_attachment_image_src
нужен идентификатор вложения, а не идентификатор публикации.
<?php echo esc_url((wp_get_attachment_image_src( get_post_thumbnail_id(get_the_id()), 'medium')[0])?>