首页 > 解决方案 > 循环 Wordpress 中的三个 else

问题描述

在下面的代码中,我可以选择调用两个自定义字段(swf 或 swf2)之一,具体取决于我的需要:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>



<?php if ( get_post_meta($post->ID, 'swf', true) ) { ?>

<?php $values = get_post_custom_values("swf"); echo $values[0]; ?>

<?php } else { ?>

<?php $values = get_post_custom_values("swf2"); echo $values[0]; ?>
<?php } ?>


<?php endwhile; else: ?>
<?php endif; ?>  

我的问题是,如何添加第三个自定义字段(swf3)?例子:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>



<?php if ( get_post_meta($post->ID, 'swf', true) ) { ?>

<?php $values = get_post_custom_values("swf"); echo $values[0]; ?>

<?php } else { ?>

<?php $values = get_post_custom_values("swf2"); echo $values[0]; ?>

<?php } else { ?>

<?php $values = get_post_custom_values("swf3"); echo $values[0]; ?>
<?php } ?>



<?php endwhile; else: ?>
<?php endif; ?>  

当我添加自定义字段“swf3”时,我收到一条代码错误消息。如何修复此代码?

标签: phpwordpress

解决方案


else一个条件下应该只有一个if

你的代码应该是这样的:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <?php if ( get_post_meta($post->ID, 'swf', true) ) { ?>
        <?php $values = get_post_custom_values("swf"); echo $values[0]; ?>
    <?php } else if ( get_post_meta($post->ID, 'swf2', true) ) { ?>
        <?php $values = get_post_custom_values("swf2"); echo $values[0]; ?>
    <?php } else { ?>
        <?php $values = get_post_custom_values("swf3"); echo $values[0]; ?>
    <?php } ?>
<?php endwhile; else: ?>
<?php endif; ?>  

推荐阅读