WordPress:尝试上传图像,media_handle_upload() 不起作用

问题描述 投票:0回答:2

尝试制作一个表单将图像上传到 Wordpress,然后将该图像设置为帖子的缩略图。但我似乎无法让 media_handle_upload() 函数正常工作。

文件的表单输入

 <input type="file" name="image" />

那么这是服务器端代码

media_handle_upload( $_FILES['image'], 22 );

这就是我得到的回报

object(WP_Error)#212 (2) { ["errors"]=> array(1) { ["upload_error"]=> array(1) { [0]=> string(212) "File is empty...." } } ["error_data"]=> array(0) { } }

我尝试了几种不同的方法来输入文件变量,但似乎都不起作用,我是从 $file_id 到底是什么开始这样做的吗?

php image wordpress forms file-upload
2个回答
6
投票
查看

documentation

media_handle_upload()
,第一个参数应该是 
$_FILES
 数组中文件的索引名称,因此在您的情况下,它应该如下所示:

media_handle_upload('image', 22);
    

0
投票

// Handle file upload if (isset($_FILES['fileToUpload']) && !empty($_FILES['fileToUpload']['name'])) { require_once(ABSPATH . 'wp-admin/includes/file.php'); require_once(ABSPATH . 'wp-admin/includes/media.php'); require_once(ABSPATH . 'wp-admin/includes/image.php'); $attachment_id = media_handle_upload('fileToUpload', $post_id); if (is_wp_error($attachment_id)) { echo 'Error uploading image: ' . $attachment_id->get_error_message(); } else { set_post_thumbnail($post_id, $attachment_id); } } return $post_id ? '<p>Post created successfully!</p>' : '<p>Error creating post!</p>'; }

© www.soinside.com 2019 - 2024. All rights reserved.