Deseja carregar arquivos enviados por usuários para a biblioteca de mídia? Este snippet tratará do upload de arquivos para sua biblioteca de mídia.
Instruções de uso
- Adicione esse código ao arquivo functions.php do seu tema ou em um plug-in específico do site.
- Todos os arquivos carregados são armazenados na matriz $_FILES, portanto, você precisará percorrer a matriz
$_FILES
e passar cada matriz de arquivo para a funçãoupload_user_file()
. Você pode usar esse código em seu manipulador de formulário:
if( ! empty( $_FILES ) ) { foreach( $_FILES as $file ) { if( is_array( $file ) ) { $attachment_id = upload_user_file( $file ); } } }
- Lembre-se de que, se quiser que seu formulário seja capaz de manipular uploads de arquivos, você precisará 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 corretamente trechos de código no WordPress, para não danificar acidentalmente seu site.
Se você gostou desse snippet de código, considere dar uma olhada em Como configurar o rastreamento de downloads no WordPress com o Google Analytics
Cool, is there a code that you can preview the file?
I’m sure anything could be done, but it does not have a preview of the file.