2013-07-07 50 views
0

我使用Wordpress和高級自定義字段插件來創建畫廊縮略圖。有9個可能的上傳字段,但只有第一個是必需的。PHP語言與高級自定義字段

目前我遇到了一個問題,其中任何一個字段爲空,它仍在輸出img標記,但顯示一個損壞的圖像(因爲沒有圖像)。

我需要創建一個if語句,如果該字段有src(或者如果該字段不爲空),則該語句只輸出HTML。

這是我當前的代碼,也有這9:

<li> 
    <div class="portfolioPicker"> 
     <?php $image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail'); ?> 
     <img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" /> 
    </div> 
</li> 

我已經找到了PHP的if語句良好的一段代碼,但是我在努力把它與我的電流輸出的代碼工作:

<?php if(get_post_meta($post->ID, "mycustomfieldname", true)): ?> 
<?php echo get_post_meta($post->ID, "mycustomfieldname", $single = true);?> 
<?php else: ?> 

<?php endif; ?> 

回答

2

這裏有三種可能的解決方案,以僅顯示標記,如果數組項設置:

<li> 
    <div class="portfolioPicker"> 
    <?php 
      $image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail'); 
      if($image[0] != NULL) 
      { 
    ?> 
       <img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" /> 
    <?php 
      } 
    ?> 
    </div> 
</li> 

OR

<li> 
    <div class="portfolioPicker"> 
    <?php 
      $image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail'); 
      if(is_null($image[0]) == false) 
      { 
    ?> 
       <img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" /> 
    <?php 
      } 
    ?> 
    </div> 
</li> 

OR

<li> 
    <div class="portfolioPicker"> 
    <?php 
      $image = wp_get_attachment_image_src(get_field('portfolio_image_2'), 'thumbnail'); 
      if(empty($image[0]) == false) 
      { 
    ?> 
       <img id="portfolioImg_2" class="portfolioPickerThumb" src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_field('portfolio_image_2')) ?>" /> 
    <?php 
      } 
    ?> 
    </div> 
</li> 

哪些功能,你使用,你如何使用它取決於值本身 - 什麼是 「空」?即 ''0,' ',NULL 可能都是空的。

希望這會有所幫助。

相關問題