2017-11-15 8 views
0

리피터 필드를 사용하여 콘텐츠 블록과 이미지 블록을 목록으로 표시하려고합니다. 그러나 모든 이미지에 하나의 자르기 크기를 사용하고 싶지는 않습니다. 예를 들어중계기 필드의 ACF 다중 이미지 크기

:

List item 1: Image size 1 
List item 2: Image size 2 
List item 3: Image size 2 
List item 4: Image size 3 

이도 가능합니까?

내가 현재 사용하고있는 마크 업입니다 : 각 중계기 요소에 특정 이미지 크기를 할당 할 수있게하려면

<ul> 

<?php while(have_rows('home-features')): the_row(); 

    // vars 
    $image = get_sub_field('image'); 
    $description = get_sub_field('description'); 
    $url = get_sub_field('url'); 

    ?> 

    <li> 

     <a href="<?php echo $url; ?>"> 
      <div> 
       <h3><?php echo $description; ?></h3> 
      </div> 
     </a> 

    </li> 

<?php endwhile; ?> 

</ul> 
+1

이미지의 수를 유지하고 'while'루프 내에서 증가시킬 수있는 변수를 만든 다음 해당 변수를 사용하여 원하는 이미지 크기를 결정하십시오. 다음과 같은 것 : https://pastebin.com/uBqz0MjE – naththedeveloper

답변

0

, 왜 그냥 다른 ACF의 서브 필드를 추가하지 이미지 크기에 대한 선택과 리피터?

새 "이미지 크기"(image_size)를 선택 서브 필드의 선택은 다음과 같이 뭔가를 갈 수 : 위에서 원하는 경우

thumbnail : Thumbnail 
medium : Medium 
medium_large : Medium Large 
large : Large 
full : Full Size 

당신은의 값만큼, 사용자 정의 이미지 크기를 대체 할 수 있습니다 각 선택 항목은 사용자 정의 이미지 크기 $name 값 (see codex for reference)에 해당합니다. 루프에서 다음

:

<ul> 

    <?php while(have_rows('home-features')): the_row(); 

    // make sure the ACF return format is set to 'image array' on the image field 
    $image = get_sub_field('image'); 

    // new select field described above 
    $size = get_sub_field('image_size'); 

    // put the two together using the image array values 
    $img_url = $image['sizes'][ $size ]; 

    $description = get_sub_field('description'); 
    $url = get_sub_field('url'); 

    ?> 

    <li> 

    <a href="<?php echo $url; ?>"> 
     <div> 
     <img src="<?php echo $img_url; ?>"> 
     <h3><?php echo $description; ?></h3> 
     </div> 
    </a> 

    </li> 

    <?php endwhile; ?> 

</ul> 

참조

  1. add_image_size
  2. Post Thumbnails
  3. ACF Image Field
,

참고 : 이 코드를 테스트하지 않았으므로 문제가 있으면 알려주세요!