PHP中的字符串比较 - 保持返回错误的值

时间:2013-10-19 03:00:41

标签: php wordpress

在WordPress中,我使用插件记录了一个元密钥_featured并添加了yes或no的值。我想添加css如果它是特色的,但无论结果是什么,它都会添加div。

            <?php if ( get_post_meta( get_the_ID(), '_featured', true ) ) : ?>
                <?php $feat = get_post_meta( get_the_ID(), '_featured', true ); ?>
                            <?php if( strcasecmp($feat, yes) == 0)?>
                                <a href=""><div class="featured_reject">Featured Rejection</div></a>

                            <?php endif; ?>
                            <h1><?php echo get_post_meta( get_the_ID(), '_featured', true ) ?></h1>
                <?php endif; ?>

并非所有这一切都是为了最终目的,其中一些只是为了测试日志的结果。

            <?php if ( get_post_meta( get_the_ID(), '_featured', true ) ) : ?>

检查是否有值。工作良好。

<?php $feat = get_post_meta( get_the_ID(), '_featured', true ); ?>

将其记录为变量

<?php if( strcasecmp($feat, 'yes') == 0)?>
                                    <a href=""><div class="featured_reject">Featured Rejection</div></a>

                                <?php endif; ?>

这是添加div的代码。无论值是或否,它都会添加它。

<h1><?php echo get_post_meta( get_the_ID(), '_featured', true ) ?></h1>
                    <?php endif; ?>

最后一部分只是为了检查自己的价值。

我不知道我哪里出错了。

2 个答案:

答案 0 :(得分:2)

您的HTML不包含在PHP中,因此不受条件语句

的影响

更改

<?php if( strcasecmp($feat, 'yes') == 0)?>
                                    <a href=""><div class="featured_reject">Featured Rejection</div></a>

                                <?php endif; ?>

<?php 
  if(strcasecmp($feat, 'yes') == 0){
       echo "<a href = ''><div class = 'featured_reject'>Featured Rejection</div></a>"
  }
?>

答案 1 :(得分:1)

php if..endif的语法是:

if (condition):
   ...
endif;

(per:http://php.net/manual/en/control-structures.alternative-syntax.php

所以你需要改变

<?php if( strcasecmp($feat, yes) == 0)?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>
在if语句中

到(注意额外:在= =之后):

<?php if( strcasecmp($feat, yes) == 0):?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>