2016-12-02 7 views
0

私の気持ちはとてもシンプルにするべきですが、私にとってはそれほど簡単ではありません。PHPの条件を "If ... else ..."にするにはどうすればいいですか?

Here is my website と私はモーダルボックスに表示されるカスタムフィールドを使用します。 - 任意の がある画像、どちらか - あるいはてSoundcloud埋め込みトラックを、任意の 決して両方があるときに!しかし、どちらもホームページにサムネイルで表示されます。

これは私のコードですが、実際には動作していますが、ライトボックスにあるはずのsouncloudボックスがあるようなバグがあります。

<div id="post"> 
     <a href="#" data-featherlight="#fl3">  

<?php 
if (get_field('music') and get_field('music') != '') { 
?> 
<iframe width="100%" height="166" scrolling="no" class="lightbox" class="frame" id="fl3" frameborder="no" src="https://w.soundcloud.com/player/?url=<?php the_field('music'); ?>&amp;color=1b1e25&amp;theme_color=1b1e25&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false"></iframe> 
<?php } else { ?> 



         <div 

<?php $image = get_field('image'); 
if(!empty($image)): ?> 

class="img" 
href="<?php $image = get_field('image');if(!empty($image)): ?> <?php echo $image['url']; ?>" 
alt="<?php echo $image['alt']; ?> <?php endif; ?>" 
data-featherlight="image" > 
          <?php endif; ?> 

<?php } ?> 


    <?php 
     if (has_post_thumbnail()) { 
     the_post_thumbnail('post-thumbnails'); 
     } 
    ?> 
      </div> 
    </a> 
</div> 

アイデアは単純です:音楽がある 場合は、音楽を取得します。 他 画像

任意のアイデアを得ますか? 申し訳ありませんが、私のコードが少し汚れている場合、私は開発者ではありません。

答えて

1

HTMLテンプレートの中でPHPコードを使用する場合は、コントロール構造の代替構文をお勧めします。

参照:

<?php $image = get_field('image') ?> 
<div id="post"> 
<?php if (get_field('music') and get_field('music') != ''): ?> 
<iframe width="100%" height="166" scrolling="no" class="lightbox" class="frame" id="fl3" frameborder="no" src="https://w.soundcloud.com/player/?url=<?php the_field('music'); ?>  &amp;color=1b1e25&amp;theme_color=1b1e25&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false"></iframe> 
<?php elseif(!empty($image)): ?> 
    <a href="<?php echo $image['url']; ?>"> 
    <img 
     class="img"    
     alt="<?php echo $image['alt']; ?> 
     data-featherlight="image" /> 

    <?php 
     if (has_post_thumbnail()) { 
      the_post_thumbnail('post-thumbnails'); 
     } 
    ?> 
    </a> 
    </div> 
    <?php endif; ?> 
</div> 

これはおそらく完全に正しいものではなく、構造と非常に間違っている: http://php.net/manual/en/control-structures.alternative-syntax.php

が、それはこのようなものになります(それはしかし掃除する必要があります)あなたのHTMLの。 class="img" alt="<?php echo $image['alt']; ?> data-featherlight="image"はタグに追加されません。だから私はそれがimg-tagでなければならないと仮定した。また、aタグに属する混合属性もあります。

また、$image変数も2回定義されています。

関連する問題