Como utilizar wp_ext2type() no WordPress1 min leitura

Exemplo prático de código para utilizar a função PHP wp_ext2type() do WordPress.

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:

  1. image
  2. audio
  3. video
  4. document
  5. spreadsheet
  6. interactive
  7. text
  8. archive
  9. code

Para o tipo document, por exemplo, são mapeadas as seguintes extensões de arquivos:

  • doc
  • docx
  • docm
  • dotm
  • odt
  • pages
  • pdf
  • 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)

Similar Posts

Você tem algo construtivo sobre este texto para dizer? Então comente abaixo