如果自定义字段值为空,如何忽略它

时间:2013-10-28 20:22:45

标签: wordpress custom-fields

我有五个用于加载图片的自定义字段,但所有这些字段都不是必需的。我的意思是用户可以从1到5上传随机数量的图像。我在这里陷入了一个简单的缺乏概念。我该如何检查它们中是否有空并丢弃它。更具体地说,我想丢弃不存在的字段并仅将上载的字段存储在数组中。这是我的代码

$custom_fields = get_post_custom($id);

$my_custom_field1 = $custom_fields['image1'];
$my_custom_field2 = $custom_fields['image2']; 
$my_custom_field3 = $custom_fields['image3'];
$my_custom_field4 = $custom_fields['image4'];
$my_custom_field5 = $custom_fields['image5'];

if(!(false===($my_custom_field1))) { $img[]=$my_custom_field1;}
if(!(false===($my_custom_field2))) { $img[]=$my_custom_field2;}
if(!(false===($my_custom_field3))) { $img[]=$my_custom_field3;}
if(!(false===($my_custom_field4))) { $img[]=$my_custom_field4;}
if(!(false===($my_custom_field5))) { $img[]=$my_custom_field5;}

3 个答案:

答案 0 :(得分:1)

$images = Array("image1","image2","image3","image4","image5");
foreach($images as $image){
    if(isset($custom_fields[$image])){
    $img[] = $custom_fields[$image];
    }
}

没有测试过,但应该有用。

答案 1 :(得分:0)

if(isset($my_custom_field5)){
  // do something with $my_custom_field5
}

答案 2 :(得分:0)

我建议使用

if ( !empty($my_custom_field)){ 
    \\Do Something 
} 

因为isset只检查变量beings set而不是null,其中empty检查变量是否为空字符串,false,array(),NULL,“0?,0和unset变量”。