2017-03-24 3 views
0

PHP가 훌륭하지 않습니다! 난 열 유형 레이아웃을 표시하는 wordpress 웹 사이트에 일부 metaboxes 있습니다. 나는 출력 METABOX 내용은 다음 수 : 아래foreach 루프에서 홀수 & 짝수 항목의 HTML 변경

<?php 
 
\t // Group ID 
 
    $columns_values = rwmb_meta('columns_solutions'); 
 
    if (! empty($columns_values)) : ?> 
 

 
<section class="columns"> 
 

 
    <?php foreach ($columns_values as $columns_value) { 
 

 
     \t // Grab the image 
 
      $columns_imgs = isset($columns_value['_rtl_column_solutions_image']) ? $columns_value['_rtl_column_solutions_image'] : array(); 
 
      foreach ($columns_imgs as $columns_img) { 
 
      \t // Set each image size for the responsive background 
 
       $column_image_lg = RWMB_Image_Field::file_info($columns_img, array('size' => 'column-lg')); 
 
       $column_image_md = RWMB_Image_Field::file_info($columns_img, array('size' => 'column-md')); 
 
       $column_image_sm = RWMB_Image_Field::file_info($columns_img, array('size' => 'column-sm')); 
 
       $column_image_xs = RWMB_Image_Field::file_info($columns_img, array('size' => 'column-xs')); 
 
      } 
 

 
      // Grab the title, oversized text and general text 
 
      $column_title = isset($columns_value['_rtl_columns_title']) ? $columns_value['_rtl_columns_title'] : array(); 
 
      $column_oversized = isset($columns_value['_rtl_columns_oversized']) ? $columns_value['_rtl_columns_oversized'] : array(); 
 
      $column_general_txt = isset($columns_value['_rtl_columns_general_text']) ? $columns_value['_rtl_columns_general_text'] : array(); 
 

 
     ?> 
 
    <div class="columns-wrapper"> 
 
    <div class="column"> 
 
     <?php if(!empty($column_title)) { ?> 
 
     <div class="section-title"> 
 
     <h2> 
 
      <?php echo $column_title; ?> 
 
     </h2> 
 
     </div> 
 
     <!-- /.section-title --> 
 
     <?php } ?> 
 

 
     <?php if(!empty($column_oversized)) { ?> 
 
     <div class="oversized"> 
 
     <?php echo $column_oversized; ?> 
 
     </div> 
 
     <!-- /.oversized --> 
 
     <?php } ?> 
 

 
     <?php if(!empty($column_general_txt)) { ?> 
 
     <?php echo wpautop($column_general_txt); ?> 
 
     <?php } ?> 
 
    </div> 
 
    <!-- /.column --> 
 

 
    <div class="column"> 
 
     <div class="image min-height cover bg-responsive" style="background-image: url(<?php echo LAZY_IMG; ?>);" 
 
      data-lg="<?php echo $column_image_lg['url']; ?>" 
 
      data-md="<?php echo $column_image_md['url']; ?>" 
 
      data-sm="<?php echo $column_image_sm['url']; ?>" 
 
      data-xs="<?php echo $column_image_xs['url']; ?>"> 
 
     </div> 
 
     <!-- /.image --> 
 
    </div> 
 
    <!-- /.column --> 
 
    </div> 
 
    <!-- /.column-wrapper --> 
 

 
    <?php } ?> 
 
</section> 
 
<!-- /.columns --> 
 
<?php endif; ?>

출력은 :

enter image description here

이것은 복제 가능한 메타 그룹입니다, 내가 바꿀 수 있도록하고 싶습니다 콘텐츠 및 이미지 (왼쪽 & 오른쪽) 각 홀수와 심지어 foreach 루프/배열.

답변

1

나는 바보 같은 느낌이 든다. 필요한 것은 게시물 수를 세고 다른 HTML을 출력하는 것이었다.

나는이에 위의 내 코드를 포장 :

<?php $counter = ""; 
 
     foreach ($columns_values as $columns_value) { 
 
     $counter +=1; 
 
      
 
     // all my var stuff here 
 
      
 
?> 
 

 
<?php if($counter == 1) { ?> 
 
<div class="columns-wrapper odd"> 
 
    <!-- HTML here for the first loop --> 
 
</div> 
 

 
<?php } 
 
     // If the second item in the loop 
 
     elseif($counter == 2) { 
 
     // Reset the counter 
 
     $counter = 0; 
 
     ?> 
 

 

 
<div class="columns-wrapper even"> 
 
    <!-- Other HTML here for the second loop --> 
 
</div> 
 

 
<?php } //end the elseif $counter ?> 
 

 
<?php } //end the foreach stuff ?>