2015-10-03 64 views
0

我想建立一个灵活的内容,其中包含4个可能的布局(描述,英雄形象,画廊1col和画廊2col)。到目前为止,我可以将Description和Hero Image子字段显示得很好,但Gallery子字段不会显示在页面上。不知道我做错了什么。代码如下:高级自定义字段。灵活的内容与画廊子字段

<?php 

      while(the_flexible_field("flexible_content")): ?> 

       <?php if(get_row_layout() == "description"): // layout: Description ?> 

        <div class="proy-desc"> 
         <h2><?php the_sub_field("text"); ?></h2> 
        </div> 

       <?php elseif(get_row_layout() == "hero_image"): // layout: Hero Image ?> 

        <div class="proy-img"> 
         <?php 

          $image = get_sub_field('image'); 

          elseif(!empty($image)): ?> 

           <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /> 

         <?php ?> 
        </div> 

       <?php elseif(get_row_layout() == "gallery_50p"): // layout: Gallery 50p ?> 

        <div class="gallery"> 
         <?php $images = get_sub_field('gallery_image_50p'); 
          if($images): ?> 
           <ul> 
           <?php foreach($images as $image): ?> 
            <li> 
             <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /> 
            </li> 
           <?php endforeach; ?> 
           </ul> 
         <?php ?> 
        </div> 
        <?php endif; ?> 

       <?php elseif(get_row_layout() == "gallery_100p"): // layout: Gallery 50p ?> 

        <div class="gallery"> 
         <?php $images = get_sub_field('gallery_image_100p'); 
          if($images): ?> 
           <ul> 
           <?php foreach($images as $image): ?> 
            <li> 
             <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /> 
            </li> 
           <?php endforeach; ?> 
           </ul> 
         <?php ?> 
        </div> 
        <?php endif; ?> 

       <?php endif; ?> 

      <?php endwhile; ?> 

回答

0

你没有关闭你的if语句。请看下图:

<?php elseif(get_row_layout() == "gallery_50p"): // layout: Gallery 50p ?> 

       <div class="gallery"> 
        <?php $images = get_sub_field('gallery_image_50p'); 
         if($images): ?> 
          <ul> 
          <?php foreach($images as $image): ?> 
           <li> 
            <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /> 
           </li> 
          <?php endforeach; ?> 
          </ul> 
        <?php ?> 
       </div> 
      <?php endif; ?> 

更改部分,这样的:

<?php elseif(get_row_layout() == "gallery_50p"): // layout: Gallery 50p ?> 

       <div class="gallery"> 
        <?php $images = get_sub_field('gallery_image_50p'); 
         if($images): ?> 
          <ul> 
          <?php foreach($images as $image): ?> 
           <li> 
            <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /> 
           </li> 
          <?php endforeach; ?> 
          </ul> 
        <?php endif; ?> 
       </div> 

你ENDIF;是在错误的地方。其他的一切都看起来不错,所以试试看。

+0

谢谢@Joe - 试过了,但仍然没有画廊领域的迹象。 “gallery”div也不显示,所以我猜它必须是ADC灵活字段和图库布局中的一个BUG。我结束了使用个人领域,因为我曾经。所有这一切都很好:) – Charliechocolate

相关问题