在PHP中使用自定义值选项

时间:2013-08-23 作者:Jon

我目前正在使用一个名为“开发”的自定义字段来显示一个新闻故事是否是一个正在开发的故事。自定义字段有两个值:一个空白选项(表示它没有开发)、“是”和“正在开发”这是我用来在新闻故事标题前显示“开发”一词的代码:

<?php if (get_meta(\'developing\') != "") { ?>Developing: <?php } ?>
当我点击Yes时,它显示“正在开发”,当我将选项更改为“Was Developing”时,它也显示“正在开发”我假设这是因为我调用了整个东西,而没有区分编码中的选项。有人知道我能不能做到吗?例如,可以为每个选项显示不同的消息吗?比如使用“developing’s yes option means show this”,而不是像上面那样的“developing means this”?

非常感谢。

2 个回复
最合适的回答,由SO网友:Anjum 整理而成

使用get_post_meta($post->ID, \'your key\', true); 而不是get_meta();比较如下值

$developing = get_post_meta($post->ID, \'developing\', true);

if ($developing == \'value\') {
  // value is matched
} elseif ($developing == \'value2\') {
  // value 2 is matched
} else {
  // not matched
}

SO网友:Chip Bennett

您有两个问题:

WordPress没有get_meta() 作用如果您正在使用get_post_meta(), 然后看@Anjum的答案get_meta(\'developing\') != "". 如果值为anything other than 一个空字符串,然后做点什么。二者都developingwas developing 是非空字符串,将导致该条件返回true。相反,使用if ( \'Developing\' == get_post_meta( ... ) ) {

结束

相关推荐

Plggable.php中出现未定义的常量错误

好的,在回答这个问题之前,我认为这个错误是由我正在开发的插件引起的。实际上,我正在尝试创建该插件的v2,每次我尝试用新插件覆盖prod中的插件文件时,都会导致此错误。令人惊讶的是,它在我的开发环境中工作得很好。我只是不知道该注意什么,因为它带来了可插拔性。php文件,它是核心WP文件。它还导致了两个关于插件中未定义索引的错误,所以我想知道是否可能是这样。(在访问插件页面并保存信息之前,索引是未定义的)注意:使用未定义的常量SECURE\\u AUTH\\u COOKIE-假定在/wp包括/可插拔。php在