我有一个函数用于wordpress前端表单,除了一件事。我可以从前端表单上传图片,但如果我选择不添加文件,我会收到以下错误:
第4365行的wp-includes / post.php中无法将类WP_Error的对象转换为int
以下是处理图片上传部分的代码:
if ($_FILES) {
foreach ($_FILES as $file => $array) {
$newupload = insert_attachment($file, $pid);
}
}
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;
}
注意:这仅在未上传文件时发生。好像它期望一个整数并且如果没有文件id或整数则抛出错误。我该如何解决?感谢。
答案 0 :(得分:0)
我发现当我从本地服务器转到临时服务器时,错误消失了。猜测它可能是导致错误的wp-config或htaccess文件差异,不确定,但无论如何它不再是问题。