我在WP主题中有很多自定义字段,我想检查它们是否有值 - 但是想要一次检查多个值的快捷方式 - 就像这样:
if ( get_post_meta ( $post->ID, "first_value", "second_value", "third_value", $single = true) !="") :
// do stuff here, as they are all set ##
else:
// do something else, as they are not all set ##
endif;
这不会引发错误,但它只会检查是否设置了第一个值 - 任何想法?
答案 0 :(得分:1)
首先请注意将$ single变量设置为true的影响:
如果$ single设置为false,或者为left 空白,该函数返回一个数组 包含指定的所有值 键。如果$ single设置为true,则为 函数返回的第一个值 指定的键作为字符串,因此您可以使用字符串比较(不在数组中)
解决方案1:据说你可以使用$ single = false来获取一个值数组,然后将值数组与一个空值数组进行比较。
解决方案2:或者您可以在if_else语句中使用多个条件:
if ( get_post_meta($post->ID,"first_value",true)!="" && get_post_meta($post->ID,"second_value",true)!="" && get_post_meta($post->ID,"third_value",true)!="") :
// do stuff here, as they are all set ##
else:
// do something else, as they are not all set ##
endif;
解决方案3:如果您愿意,也可以使用嵌套的if_then语句。
问题是,哪种解决方案最适合您?