Verifique se o tipo de arquivo carregado é pressionado por wordpress para vários uploads

Eu tenho um formulário no frontend que permite que o usuário faça o upload de várias imagens e outros tipos de arquivos conforme necessário. Para processar vários arquivos, eu segui essa resposta e aqui é o relevante.

PHP

global $post; if ($_FILES) { $files = $_FILES['upload']; foreach ($files['name'] as $key => $value) { if ($files['name'][$key]) { $file = array( 'name' => $files['name'][$key], 'type' => $files['type'][$key], 'tmp_name' => $files['tmp_name'][$key], 'error' => $files['error'][$key], 'size' => $files['size'][$key] ); $_FILES = array("upload" => $file); foreach ($_FILES as $file => $array) { $newupload = wp_insert_attachment($file,$post->ID); } } } } 

HTML Tenha em atenção que o meu formulário permite uma matriz de imagens múltiplas eg. upload[]

 

Gostaria de verificar o tipo de arquivo usando as funções de wordpress nativas wp_check_filetypes , o códice não diz muito sobre isso. Por favor me ajude com um exemplo.

Solutions Collecting From Web of "Verifique se o tipo de arquivo carregado é pressionado por wordpress para vários uploads"

Finalmente descobriu isso. Este código lança um erro se o tipo de arquivo não for permitido. Espero que isso ajude alguns novatos a economizar um pouco de tempo.

 global $post;//http://wordpress.stackexchange.com/questions/39753/ if ($_FILES) { $files = $_FILES['upload']; foreach ($files['name'] as $key => $value) { if ($files['name'][$key]) { $file = array( 'name' => $files['name'][$key], 'type' => $files['type'][$key], 'tmp_name' => $files['tmp_name'][$key], 'error' => $files['error'][$key], 'size' => $files['size'][$key] ); $uploaded_file_type = $files['type'][$key]; $allowed_file_types = array('image/jpg', 'image/jpeg', 'application/pdf'); if(in_array($uploaded_file_type, $allowed_file_types)) { //if in array run the attachment function $_FILES = array("upload" => $file); foreach ($_FILES as $file => $array) { $newupload = insert_attachment($file,$post_id); } } else { // wrong file type $upload_error .= "Invalid File Type. 
"; } } } }