0
我在前端有一个允许登录用户发布活动(自定义帖子)的表单。如果用户附加了图像,我的表单当前工作正常 - 但是,图像上传字段('postImage')是可选的,并且未附加图像时,我会看到一个没有错误的空白屏幕(无日志)。在我的数据库中的字段“bgc_event_pimg”的检查,我得到:从WordPress前端上传附件
O:8:"WP_Error":2:{s:16:"WP_Errorerrors";a:1:{s:12:"upload_error";a:1:{i:0;s:21:"No file was uploaded.";}}s:20:"WP_Errorerror_data";a:0:{}}
我认为这个问题的原因是:($ _FILES [$文件] [“错误”] - 而不是忽略的领域/离开它。空白,它插入错误,但我不确定如何相应地处理这个
if ($_FILES['postImage']) {
foreach ($_FILES as $file => $array) {
if ($_FILES[$file]['error'] !== UPLOAD_ERR_OK) {
return "upload error : " . $_FILES[$file]['error'];
}
$attach_id = media_handle_upload($file, $post_id);
}
}
if ($attach_id > 0){
update_post_meta($post_id,'bgc_event_pimg',$attach_id);
}
我已经中的functions.php以下;
function insert_attachment($file_handler,$post_id,$setthumb='false') {
if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) __return_false();
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
$attach_id = media_handle_upload($file_handler, $post_id);
if ($setthumb) update_post_meta($post_id,'_thumbnail_id',$attach_id);
return $attach_id;
}
非常感谢