我的功能应该非常简单但对我来说并不容易,我需要帮助。
Here is my website 我使用自定义字段,因此显示为模式框: - 有图像,有图像 - 或者声音云嵌入轨道,当有任何 从来没有!但两者都显示在主页上的缩略图中。
这是我的代码,它实际上有效,但有一些错误,为什么页面上有一个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'); ?>&color=1b1e25&theme_color=1b1e25&auto_play=false&hide_related=false&show_comments=true&show_user=true&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>
这个想法很简单: 如果 有音乐,有音乐。 的其他 获取图像
任何想法? 对不起,如果我的代码有点脏,我不是开发人员。
答案 0 :(得分:1)
如果你在html'模板'中使用php代码,我会推荐用于控制结构的Alternative语法。
请参阅: http://php.net/manual/en/control-structures.alternative-syntax.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'); ?> &color=1b1e25&theme_color=1b1e25&auto_play=false&hide_related=false&show_comments=true&show_user=true&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>
这可能不完全正确,但HTML结构存在很大问题。 class="img" alt="<?php echo $image['alt']; ?> data-featherlight="image"
未添加到代码中。所以我认为它必须是和img-tag。此外,还有属于a-tag的混合属性。
$image
变量也定义了两次。