X

Comment téléverser des fichiers soumis par les utilisateurs dans la médiathèque

Extraits par IsItWP

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

  1. Ajoutez ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site.
  2. All uploaded files are stored in the $_FILES array, so you will need to loop through the $_FILES array and pass each file array to the upload_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 );
        }
      }
    }
    
  3. 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

Commentaires   Laisser une réponse

  1. Cool, existe-t-il un code pour prévisualiser le fichier ?

    1. Je suis sûr que tout est possible, mais il n'y a pas de prévisualisation du fichier.

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !