2015-07-10 5 views
1

Я следил за инструкциями веб-сайта ACL, чтобы отображать изображение определенного размера, но оно вообще не отображается. Я установить изображение на объект в поле повторителя, это мой код:Wordpress Advanced Custom Field - отображать изображение в указанном размере

$image_1 = get_sub_field('image'); 

<?php if($image_1): ?> 
<img src="<?php echo $image_1['sizes']['medium']; ?>" alt="" /> 
<?php endif; ?> 

, когда я удаляю следующее отображает изображение хорошо, но полный размер конечно:

['sizes']['medium'] 

В чем проблема? Должен ли где-нибудь быть добавлен ['url']? Я всегда смущен этими изображениями в ACL.

ответ

2

Вы должны указать свой индекс изображения, потому что обычно вы запускаете этот код внутри цикла, поэтому image_1 будет массивом, чтобы получить доступ к первому изображению, которое необходимо добавить в положение изображения, image_1 [0] ['sizes' ] ['medium'] .. Я пробовал этот код, и он отлично работает.

if (have_rows('repeater_field', $homepage_id)) { 

    $i = 0; 
    // loop through the rows of data 
    while (have_rows('repeater_field', $homepage_id)) { 
     the_row(); 
     //Get imgs 
     $imgs[$i]['img_test'] = get_sub_field('img_test'); 
     $i++; 
    } 
} 


echo "src = ".$imgs[0]['img_test']["sizes"]["medium"]; 
+0

Я пошел другой подход, прибрала мой код, но ваш ответ был также хорош. – yennefer

0

ACF имеет опцию для размера по умолчанию и нестандартного размера для изображения.

использовать этот путь,

$images = get_sub_field('image'); 

wp_get_attachment_image_src($images, 'full'); 

wp_get_attachment_image_src($images, 'medium'); 

wp_get_attachment_image_src($images, 'thumbnail'); 
Смежные вопросы