У меня есть плагин для формы WordPress, и я использую его media_handle_upload
для загрузки файлов и получения там идентификаторов напрямую и прикрепляю их идентификаторы к сообщению в качестве мета-даты. Для этого я использовал следующее:
HTML-код поля формы:
<input type="file" name="my_file_upload" id="my_file_upload">
И код PHP был:
$attach_id = media_handle_upload( 'my_file_upload', $post_id );
if ( is_numeric( $attach_id ) ) {
update_post_meta( $post_id, '_my_file_upload', $attach_id );
}
И все было отлично работать.
Сейчас я пытаюсь загрузить несколько файлов, мой HTML-код:
<input type="file" name="my_file_upload[]" id="my_file_upload[]" multiple="multiple">
Но я не могу заставить media_handle_upload
функцию работать с загрузкой нескольких файлов.
Любая помощь будет оценена.
Ответы:
здесь, если вы используете пользовательский шаблон мимо этого в начале
в function.php
soure http://www.kvcodes.com/2013/12/create-front-end-multiple-file-upload-wordpress/
источник
media_handle_upload()
ищет$_FILES[$file_handler]
Если вы хотите реализовать это без использования файла функций, вы можете использовать упрощенную версию, которую я придумал. Это проверенный код работает на 100%
Поместите код PHP на страницу, где происходит отправка. В моем случае на той же странице, что и для формы, установлено значение «#»
Этот метод будет включать требуемые файлы только один раз, когда выполняется отправка формы, вместо того, чтобы включать их каждый раз, когда функция вызывается через цикл foreach.
источник
$post_thumbnail_id = wp_get_attachment_image_src($attachment_id, array(800, 600));
поскольку это не нужно для примера. Но если вы хотите получить URL изображения, это поможет вам :)Спасибо @ shady-m-rasmy. Я использовал упомянутый вами код, и кажется, что второй цикл foreach (ниже - в пользовательской части шаблона) не нужен, так как он выполняется только один раз.
Так что это только уходит с
источник
Несколько записей для одного мета-ключа
источник
HTML
PHP
источник