Com a função PHP wp_ext2type() você identifica o tipo de um arquivo dado a sua extensão. Veja o exemplo abaixo:
<?php
$arquivo_extensao = 'pdf';
$arquivo_tipo = wp_ext2type( $arquivo_extensao );
Code language: PHP (php)
O conteúdo da variável $arquivo_tipo
será document
.
O mapeamento de todos os tipos de arquivos é feito pela função PHP wp_get_ext_types(), nela você pode ver todos os tipos disponíveis junto com suas respectivas extensões. No momento que este post foi escrito, esses são os tipos existentes:
- image
- audio
- video
- document
- spreadsheet
- interactive
- text
- archive
- code
Para o tipo document
, por exemplo, são mapeadas as seguintes extensões de arquivos:
- doc
- docx
- docm
- dotm
- odt
- pages
- xps
- oxps
- rtf
- wp
- wpd
- psd
- xcf
Como identificar o tipo de um arquivo enviado para o WordPress
Para identificar o tipo de um arquivo que foi enviado para a biblioteca de mídia do WordPress, o primeiro passo é pegar o ID dele, que normalmente é armazenado no campo onde ele foi enviado. Se você, por exemplo, quiser pegar o ID da imagem destacada, você pode usar a função PHP get_post_thumbnail_id().
Para o exemplo abaixo, vou assumir que o ID do arquivo está armazenado em $arquivo_id
. Como base estou utilizando o código que fiz da função PHP wp_check_filetype() e destaquei as alterações que fiz.
<?php
$arquivo_url = wp_get_attachment_url( $arquivo_id );
if ( $arquivo_url ) {
$arquivo_extensao = wp_check_filetype( $arquivo_url );
if ( isset( $arquivo_extensao['ext'] ) ) {
$arquivo_extensao_tipo = wp_ext2type( $arquivo_extensao['ext'] );
if ( $arquivo_extensao_tipo ) {
echo "O tipo da extensão do arquivo é: {$arquivo_extensao_tipo}";
} else {
echo "Tipo de arquivo não encontrado.";
}
} else {
echo "Extensão não encontrado.";
}
} else {
echo "Arquivo não encontrado.";
}
Code language: PHP (php)
Deixe um comentário