WordPress自定义字段条件基于postmeta值

时间:2014-01-13 20:55:34

标签: php wordpress conditional-statements

我有一大堆代码工作正常,但我需要改变它。

只有在数据库中有值时才有效。如果没有,它产生的值为0.0,这是好的...但我希望它说“N / A”而不是0.0。

我如何更改下面的代码块,以便在值为0.0时显示“N / A”值,否则它的功能已经如此?

<?php
global $wp_query;
$postid = $wp_query->post->ID;
if( get_post_meta($postid, 'Rankextras', true))  {
echo '<span class="skill-bg" data-percent=" ' . get_post_meta($postid, 'Rankextras', true) . '%" style="width: ' . get_post_meta($postid, 'Rankextras', true) . '%">    </span><span class="skill-name">  Extras</span><span class="skill-progress">' . get_post_meta($postid, 'Rankextras', true) . '</span>'; 
}
?>

2 个答案:

答案 0 :(得分:0)

如果元数据不存在,Wordpress已经会返回一个空字符串。基于您发布的代码,是否有一些javascript将空数据百分比属性格式化为0.0?

答案 1 :(得分:0)

尝试此操作(根据需要修改回音'N / A'的块):

global $wp_query;
$postid = $wp_query->post->ID;
$value = get_post_meta($postid, 'Rankextras', true);
if(!$value OR $value == '0.0')
{
    echo 'N/A';
}
else
{
    echo '<span class="skill-bg" data-percent=" ' . $value . '%" style="width: ' . $value . '%">    </span><span class="skill-name">  Extras</span><span class="skill-progress">' . $value . '</span>'; 
}

我还重构了一下你的代码,所以它使用的查询次数更少。