Tengo un plugin de formulario de WordPress y lo uso media_handle_upload
para cargar los archivos y obtener los identificadores directamente y adjunté sus identificadores a la publicación como una meta fecha, utilicé lo siguiente para hacer eso:
El HTML del campo de formulario es:
<input type="file" name="my_file_upload" id="my_file_upload">
Y el código php fue:
$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 );
}
Y todo fue trabajo perfectamente.
Ahora estoy tratando de cargar varios archivos, mi código HTML es:
<input type="file" name="my_file_upload[]" id="my_file_upload[]" multiple="multiple">
Pero no puedo hacer que la media_handle_upload
función funcione con la carga de múltiples archivos.
Cualquier ayuda será apreciada.
Respuestas:
aquí si usa una plantilla personalizada más allá de esto en el comienzo
en function.php
soure http://www.kvcodes.com/2013/12/create-front-end-multiple-file-upload-wordpress/
fuente
media_handle_upload()
busca$_FILES[$file_handler]
Si desea implementar esto sin usar el archivo de funciones, puede usar la versión simplificada que se me ocurrió. Este es el código probado que funciona al 100%
Coloque el código PHP en la página donde se realiza el envío. En mi caso, en la misma página que la acción del formulario se establece en "#"
Este método incluirá los archivos requeridos solo una vez cuando finalice el envío del formulario en lugar de incluirlos cada vez que se llame a la función a través del bucle foreach
fuente
$post_thumbnail_id = wp_get_attachment_image_src($attachment_id, array(800, 600));
ya que es innecesario para el ejemplo. Pero si deseas obtener la URL de la imagen, te ayudará :)Gracias @ shady-m-rasmy Usé el código que mencionaste, y parece que el segundo bucle foreach (abajo, en la parte de la plantilla personalizada) no es necesario, ya que solo se ejecuta una vez.
Entonces solo sale con
fuente
Múltiples entradas para la misma meta clave
fuente
HTML
PHP
fuente