我为一个足球网站创建了一个非常复杂的自定义帖子类型系统,并使用自定义元框来存储各种比赛数据。要决定是否显示统计信息,请检查数据是否已输入后端,如下所示:
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,所以我一直在学习。
谢谢,迈克
最合适的回答,由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
}
如果这对你不起作用,请告诉我。