wordpress get_post_meta检查是否设置了多个值

时间:2011-02-14 16:23:57

标签: wordpress

我在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;

这不会引发错误,但它只会检查是否设置了第一个值 - 任何想法?

1 个答案:

答案 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语句。

问题是,哪种解决方案最适合您?