【问题标题】:WordPress Custom Field conditional based on postmeta value基于 postmeta 值的 WordPress 自定义字段条件
【发布时间】:2014-01-14 07:43:20
【问题描述】:

我有一大段代码运行良好,但我需要修改它。

它有效,但前提是数据库中有值。如果不是,它会产生一个 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>'; 
}
?>

【问题讨论】:

  • “我有一大段代码运行良好”然后,继续下一个问题。

标签: php wordpress conditional-statements


【解决方案1】:

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

【讨论】:

  • 这是一个工作示例,如果我展示我正在尝试完成的工作,也许会更有意义。 blurayauthority.com/game/skylanders-swap-force-xbox-one 请注意,“Extras”是 0.0,因为它是一款视频游戏,因此没有任何附加功能。也许这会解决问题。
【解决方案2】:

试试这个(根据您的需要修改显示“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>'; 
}

我还稍微重构了您的代码,因此它使用的查询更少。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多