X

Como Enviar Arquivos Enviados por Usuários para a Biblioteca de Mídia

Snippets por IsItWP

Deseja fazer upload de arquivos enviados pelo usuário para a biblioteca de mídia? Este snippet cuidará do upload de arquivos para sua biblioteca de mídia.

Instruções

  1. Adicione este código ao arquivo functions.php do seu tema ou em um plugin específico do 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. Lembre-se que, se você quiser que seu formulário seja capaz de lidar com uploads de arquivos, você precisa adicionar o atributo enctype="multipart/form-data" à tag <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;
}

Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar / colar trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste trecho de código, considere conferir Como configurar o rastreamento de downloads no WordPress com o Google Analytics

Comentários   Deixe uma resposta

  1. Legal, existe um código que permite pré-visualizar o arquivo?

    1. Tenho certeza que qualquer coisa pode ser feita, mas não há uma pré-visualização do arquivo.

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!