Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-addons-for-gutenberg domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /sites/danielkossmann.com/files/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the hustle domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /sites/danielkossmann.com/files/wp-includes/functions.php on line 6114
Como utilizar wp_ext2type() no WordPress - Daniel Kossmann

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)


Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *