Voulez-vous téléverser des fichiers soumis par l'utilisateur dans la médiathèque ? Cet extrait de code gérera le téléversement de fichiers dans votre médiathèque.
Instructions
- Ajoutez ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site.
- All uploaded files are stored in the $_FILES array, so you will need to loop through the
$_FILESarray and pass each file array to theupload_user_file()function. You can use this code in your form handler:
if( ! empty( $_FILES ) ) { foreach( $_FILES as $file ) { if( is_array( $file ) ) { $attachment_id = upload_user_file( $file ); } } } - N'oubliez pas que si vous souhaitez que votre formulaire puisse gérer les téléversements de fichiers, vous devez ajouter l'attribut
enctype="multipart/form-data"à la balise<form>.
function upload_user_file( $file = array() ) {
require_once( ABSPATH . 'wp-admin/includes/admin.php' );
$file_return = wp_handle_upload( $file, array('test_form' => false ) );
if( isset( $file_return['error'] ) || isset( $file_return['upload_error_handler'] ) ) {
return false;
} else {
$filename = $file_return['file'];
$attachment = array(
'post_mime_type' => $file_return['type'],
'post_title' => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
'post_content' => '',
'post_status' => 'inherit',
'guid' => $file_return['url']
);
$attachment_id = wp_insert_attachment( $attachment, $file_return['url'] );
require_once(ABSPATH . 'wp-admin/includes/image.php');
$attachment_data = wp_generate_attachment_metadata( $attachment_id, $filename );
wp_update_attachment_metadata( $attachment_id, $attachment_data );
if( 0 < intval( $attachment_id ) ) {
return $attachment_id;
}
}
return false;
}
Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière de copier / coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.
Si vous avez aimé cet extrait de code, pensez à consulter Comment configurer le suivi des téléchargements dans WordPress avec Google Analytics
Cool, existe-t-il un code pour prévisualiser le fichier ?
Je suis sûr que tout est possible, mais il n'y a pas de prévisualisation du fichier.