Я работаю над специальной темой, которая позволяет загружать несколько изображений на одну страницу. Поскольку у меня есть несколько файловых входов, я использую эту функцию в моем functions.php
файле (внутри al oop для каждого входного файла):
register_setting('hero', 'slider_slide_' . $i . '_image',
function($option) use ($i) {
if (!empty($_FILES['slider_slide_' . $i . '_image']['tmp_name'])) {
$_FILES['slider_slide_' . $i . '_image']['name'] = 'slide_' . $i . '.png';
$urls = wp_handle_upload($_FILES['slider_slide_' . $i . '_image'], array('test_form' => FALSE));
$temp = $urls['url'];
return $temp;
}
return $option;
});
Встроенная функция - единственное, что я пробовал работает с несколькими файлами одновременно. В любом случае, теперь я столкнулся с проблемой перезаписи моих опций. После загрузки опция устанавливается в моей базе данных с правильной ссылкой на изображение. Однако, если я позже изменю другие настройки на странице, поскольку ничего не загружается, параметр будет перезаписан пустой строкой, несмотря на то, что я проверяю, не является ли файл пустым перед обновлением параметра.
В идеале я бы например, разрешить пользователю изменять все и вся и проверять загрузку файла, чтобы проверить, выбрано ли что-нибудь, и если да, загрузите и обновите параметр.
Единственная проблема в том, что Wordpress, похоже, занимается обновлением вариантов ...
Ошибок тоже не возникает, так что сейчас я в тупике.