2013-09-30 2 views
0

Я создаю веб-сайт с карусели. Для загрузки изображений я использую дополнительные пользовательские поля в Wordpress.Дополнительные пользовательские поля Wordpress Размер изображения

Вот мой код:

<?php $images = get_field('slides', $post->ID); 
// clean_print_r($images); 
if (!empty($images)) : 
?> 
<div class="wide-container"> 
    <div id="slides"> 
     <ul class="slides-container"> 
     <?php for($i = 0; $i < count($images); $i++): ?> 
     <!-- slides --> 
      <li> 
       <img src="<?php echo $images[$i]['img_slide']['sizes']['large'] ?>" alt="" /> 
      </li> 
     <?php endfor; ?> 
     </ul> 
    </div> 
</div> 
<?php endif; ?> 

я могу загрузить изображения, но они размером в 1024px шириной:

<img src="http://example.com/wp-content/uploads/2013/09/bg_header03-1024x341.jpg" ... /> 

Есть ли способ, чтобы получить полные изображения размера? Я пытался заменить:

['img_slide']['sizes']['large'] 

с

['img_slide']['sizes']['full'] 

Но это не работает, и никакие изображения не загружаются. В ACF я вызываю прикрепление изображения по ID, и это поле ретранслятора.

+0

Кто угодно? Помогите :) –

ответ

0

Я не уверен, как это сделать с идентификаторами возврата, но если вы вернете URL вместо этого, вы получите полное изображение.

Редактировать: Хорошо, я сделал несколько тестов с идентификатором изображения, похоже, вы как-то путали обработку массива. Это работает для одного изображения: должно быть легко адаптироваться к вашему репитеру.

$attachment_id = get_field('slide'); 
$size = "full"; 


$image = wp_get_attachment_image_src($attachment_id, $size); 
echo '<img src="' . $image[0] . '">'; 

//OR 

$image = wp_get_attachment_image($attachment_id, $size); 
echo $image[0]; 
1

Мой предыдущий ответ был о возврате: идентификатор изображения, как указано в старте потока, но теперь я понимаю, что он фактически говорил о возврате: объект.

/* 
* Return value = Object 
* requires ACF 3.3.7+ 
*/ 

$image = get_field('image'); 

var_dump($image); 

/* 

Data returned will look like this: 

Array 
(
    [id] => 540 
    [alt] => A Movie 
    [title] => Movie Poster: UP 
    [caption] => sweet image 
    [description] => a man and a baloon 
    [url] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg 
    [sizes] => Array 
     (
      [thumbnail] => http://localhost:8888/acf/wp-content/uploads/2012/05/up-150x150.jpg 
      [medium] => http://localhost:8888/acf/wp-content/uploads/2012/05/up-300x119.jpg 
      [large] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg 
      [post-thumbnail] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg 
      [large-feature] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg 
      [small-feature] => http://localhost:8888/acf/wp-content/uploads/2012/05/up-500x199.jpg 
     ) 

) 

*/ 

Источник: http://www.advancedcustomfields.com/resources/field-types/image/

Таким образом, очевидно исходное изображение не размер, но URL, поэтому изменить:

['img_slide']['sizes']['large'] 

в

['img_slide']['url'] 

и вы должны быть хорошо

Смежные вопросы