使WordPress存储自定义帖子类型META的0值

时间:2013-08-07 作者:MikeyOh

我为一个足球网站创建了一个非常复杂的自定义帖子类型系统,并使用自定义元框来存储各种比赛数据。要决定是否显示统计信息,请检查数据是否已输入后端,如下所示:

if (get_post_meta($post->ID, \'stat_red_h\', true) || get_post_meta($post->ID, \'stat_red_a\', true)){
    echo \'somestuff\';
}
我在if语句中回显信息。然而,在许多情况下,统计的值为“0”,如果在主场和客场统计中都输入了“0”,则该行不会显示,可能是因为它将其计为空。

我如何告诉WordPress,输入“0”作为值并不算为空,而是一个有效值?也许是某种:

if ($stat_red_h==\'0\') {
    $stat_red_h=\'REAL!!!\';
}
保存数据时在函数文件中?也许你们可以帮忙,这是我第一次深入到WordPress,所以我一直在学习。

谢谢,迈克

1 个回复
最合适的回答,由SO网友:Eric Holmes 整理而成

使用时== 比较,它比较相同类型的值。所以1 等于"1", 和true. 同样地0 等于false.

深入研究get_post_meta, 我们可以看到,使用$single=true 第三个参数返回空白字符串(\'\') 未找到值时,不false. 所以你应该检查一下,确保情况不是这样。

$post_meta_h = get_post_meta( $post->ID, \'stat_red_h\', true );
$post_meta_a = get_post_meta( $post->ID, \'stat_red_a\', true );
if( $post_meta_h !== \'\' || $post_meta_a !== \'\' ) {
    // do something
}
如果这对你不起作用,请告诉我。

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在