Я часами пытался заставить это работать.
Загрузка изображений WP отлично работает для одного изображения без использования тега multiple
.
Но при попытке загрузить несколько изображений послеизменив код php для нескольких изображений (массив) и добавив тег multiple
, отобразить ошибку:
Указанный файл не прошел тест на загрузку.
Данные для загрузки файла поступают через JSON, который отлично работает при печати.
Ниже я попробовал:
if(!function_exists('wp_handle_upload')){
require_once(ABSPATH.'wp-admin/includes/file.php');
}
foreach($styledNameData as $nameData){
//echo '<pre>'; print_r($nameData);
// It Prints
//Array
//(
// [name] => A_Front.png
// [type] => image/png
// [tmp_name] => C:\\xampp\\tmp\\php5BFB.tmp
// [error] => 0
// [size] => 32901
//)
$upload_overrides = array('test_form' => false);
$movefile = wp_handle_upload($nameData, $upload_overrides);
}
if($movefile && !isset($movefile['error'])){
echo '<pre>';
print_r($movefile);
} else {
echo '<pre>';
print_r($movefile['error']);
}
HTML:
<form id="imagesForm" method="POST" enctype="multipart/form-data" action="<?php echo admin_url('admin-ajax.php'); ?>">
<input id="uploadfile" type="file" class="button button-secondary" name="uploadfile[]" multiple />
<input type="hidden" name="action" value="shpg_image_upload" />
<input type="submit" id="uploadImages" name="uploadImages" class="btn-medium col-sms-5 col-sm-3" value="UPLOAD" />
</form>
Пожалуйста, помогите.