Как отправить в папку /uploads/ wordpress изображения через $_FILES по технологии AJAX?
Создаю плагин на wordpress. Появилась необходимость отправлять изображения, загруженные пользователем через <input type="file" ... />
в корневую папку wordpress /wp-content/uploads/
. С этим проболем, так сказать, не было. У меня за это отвечает следующий фрагмент кода в файле admin.php
:
<form enctype="multipart/form-data" action="" method="POST">
<?php wp_nonce_field('my_file_upload', 'fileup_nonce'); ?>
<input name="my_file_upload" type="file" />
<input type="submit" value="Загрузить файл" />
</form>
а также:
<?php
if (wp_verify_nonce($_POST['fileup_nonce'], 'my_file_upload')) {
if (!function_exists('wp_handle_upload'))
require_once(ABSPATH . 'wp-admin/includes/file.php');
$file = &$_FILES['my_file_upload'];
$overrides = ['test_form' => false];
$movefile = wp_handle_upload($file, $overrides);
if ($movefile && empty($movefile['error'])) {
echo "Файл был успешно загружен.\n";
print_r($movefile);
} else {
echo "Возможны атаки при загрузке файла!\n";
}
}
?>
Проблема заключается в том, что аналогичные действия надо проводить асинхронно по технологии AJAX. Уже пересмотрел кучу интернет-ресурсов. Однозначного ответа не нашёл. Везде либо просто пишут про AJAX и wordpress, либо просто про AJAX и PHP без wordpress. То есть мне надо, чтобы при нажатии на <input type="submit" value="Загрузить файл" />
вся страница не обновлялась, а обновлялась только необходимая часть, что, собственно говоря, и подразумевает под собой технология AJAX. Пробовал делать аналогичное без wordpress на чистом jQuery и PHP - так всё получилось, но в wordpress же многое по-другому. Буду рад помощи!