你有问题的原因是0
当get_post_meta
call返回false,也等于0
.
if( !get_post_meta( $post_id, \'some-non-existant-field\', true ) == 0 )
与…相同。。。
if( get_post_meta( $post_id, \'some-existing-field\', true ) == 0 )
。。唯一的区别是,在一种情况下,字段不存在,而在另一种情况下,字段存在(并且具有零值),但两者都是真的。
此外,0
不同于\'0\'
, 一个是字符串值,另一个是实际的数值。自定义字段值存储为字符串,因此比较应遵循。。
if( get_post_meta( $post_id, \'some-existing-field\', true ) == \'0\' )
。。准确地说。
我意识到我不擅长解释这一点,所以我希望这能有所帮助(或者其他人能更好地解释)。