Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress自定义字段基于postmeta值_Php_Wordpress_Conditional Statements - Fatal编程技术网

Php WordPress自定义字段基于postmeta值

Php WordPress自定义字段基于postmeta值,php,wordpress,conditional-statements,Php,Wordpress,Conditional Statements,我有一段代码运行良好,但我需要修改它 它可以工作,但只有在DB中有一个值的情况下。如果不是,它会产生一个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 '<s

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

它可以工作,但只有在DB中有一个值的情况下。如果不是,它会产生一个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>'; 
}
?>

如果元数据不存在,Wordpress将返回一个空字符串。根据您发布的代码,是否有一些javascript将空数据百分比属性格式化为0.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>'; 
}

我还对您的代码进行了一些重构,因此它使用的查询更少。

我有一段代码运行良好,好吧,继续下一个问题。下面是一个运行示例,如果我展示我正在尝试完成的内容,可能会更有意义。请注意,Extras显示为0.0,因为它是一款视频游戏,因此没有Extras。也许这会把事情弄清楚。