PHP条件嵌入另一个条件

时间:2013-10-21 21:48:23

标签: php conditional

好的,下面的代码可行。我已经为Rotten Tomatoes的分数创建了一个自定义字段,我可以添加到我的Blu-Ray评论中。根据其得分(60以上将获得“新鲜”评级,低于“烂”),它将显示适当的图像。

这很好用。

但是......它也显示在每一页上;即使那些尚未分配的分数。

<?php
  global $wp_query;
  $postid = $wp_query->post->ID;

$result = ( get_post_meta($postid, 'ecpt_tomatometer', true));

if ($result >= 60) {
    echo '<img src="/images/misc/fresh.png" width="102" height="25"> <span class=tomatometer>' . get_post_meta($postid, 'ecpt_tomatometer', true) . '%</span><br />';
  } 
else {
    echo '<img src="/images/misc/rotten.png" width="102" height="25"> <span class=tomatometer>' . get_post_meta($postid, 'ecpt_tomatometer', true) . '%</span><br />';
  } 
?>

现在下面是另一段有效的代码片段,但我似乎无法将两者交织在一起。这(下面)基本上说“如果自定义字段中有东西,则显示代码(上图),否则不显示任何内容。”

所以我已经得到了我想要工作的两部分,但我似乎无法让它们一起工作。

<?php
global $wp_query;
$postid = $wp_query->post->ID;
if( get_post_meta($postid, 'tomatometer', true)) 
{ ?>
This won't show up if there's nothing in the field.
<?php } 
           elseif( get_post_meta($postid, 'ecpt_tomatometer', true)) { 
?>
this will display all of the information I need it to.
<?php } ?>

想法?

2 个答案:

答案 0 :(得分:1)

仅当结果具有值时才进行结果比较(假设为null或假,如果没有评级)。

global $wp_query;
$postid = $wp_query->post->ID;
if($result = get_post_meta($postid, 'ecpt_tomatometer', true)){
if ($result >= 60) {
        echo '<img src="/images/misc/fresh.png" width="102" height="25"> <span class=tomatometer>' . get_post_meta($postid, 'ecpt_tomatometer', true) . '%</span><br />';
} 
else {
        echo '<img src="/images/misc/rotten.png" width="102" height="25"> <span class=tomatometer>' . get_post_meta($postid, 'ecpt_tomatometer', true) . '%</span><br />';
}
}

答案 1 :(得分:0)

不确定$ result的可能值,但我会尝试类似:

<?php
  global $wp_query;
  $postid = $wp_query->post->ID;

$result = ( get_post_meta($postid, 'ecpt_tomatometer', true));
if (!($result===false) && intval($result) > 0)
{
if ($result >= 60) {
    echo '<img src="/images/misc/fresh.png" width="102" height="25"> <span class=tomatometer>' . get_post_meta($postid, 'ecpt_tomatometer', true) . '%</span><br />';
  } 
else {
    echo '<img src="/images/misc/rotten.png" width="102" height="25"> <span class=tomatometer>' . get_post_meta($postid, 'ecpt_tomatometer', true) . '%</span><br />';
  }
} 
?>

这应该有用。