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_get_attachment_metadata() no WordPress - Daniel Kossmann

Com a função PHP wp_get_attachment_metadata() você extrai os metadados de um arquivo, dado o seu ID. O seu uso é bem simples:

<?php
$arquivo_metadados = wp_get_attachment_metadata( $arquivo_id );Code language: PHP (php)

Exemplos de retorno

Seguem abaixo dois exemplos de retorno da função acima para tipos diferentes de arquivos.

Arquivo de imagem

Array
(
    [width] => 1920
    [height] => 1080
    [file] => 2021/01/Captura-de-tela-de-2021-05-30-19-22-52.png
    [sizes] => Array
        (
            [medium] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-300x169.png
                    [width] => 300
                    [height] => 169
                    [mime-type] => image/png
                )

            [large] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-1024x576.png
                    [width] => 1024
                    [height] => 576
                    [mime-type] => image/png
                )

            [thumbnail] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-150x150.png
                    [width] => 150
                    [height] => 150
                    [mime-type] => image/png
                )

            [medium_large] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-768x432.png
                    [width] => 768
                    [height] => 432
                    [mime-type] => image/png
                )

            [1536x1536] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-1536x864.png
                    [width] => 1536
                    [height] => 864
                    [mime-type] => image/png
                )

            [post-thumbnail] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-1568x882.png
                    [width] => 1568
                    [height] => 882
                    [mime-type] => image/png
                )

        )

    [image_meta] => Array
        (
            [aperture] => 0
            [credit] => 
            [camera] => 
            [caption] => 
            [created_timestamp] => 0
            [copyright] => 
            [focal_length] => 0
            [iso] => 0
            [shutter_speed] => 0
            [title] => 
            [orientation] => 0
            [keywords] => Array
                (
                )

        )

)Code language: PHP (php)

Arquivo de vídeo

Array
(
    [filesize] => 9889364
    [mime_type] => video/mp4
    [length] => 18
    [length_formatted] => 0:18
    [width] => 1920
    [height] => 1080
    [fileformat] => mp4
    [dataformat] => quicktime
    [audio] => Array
        (
            [dataformat] => mp4
            [codec] => ISO/IEC 14496-3 AAC
            [sample_rate] => 48000
            [channels] => 2
            [bits_per_sample] => 16
            [lossless] => 
            [channelmode] => stereo
        )

    [created_timestamp] => -2082844800
)Code language: PHP (php)

Utilizando os metadados para identificar informações de um arquivo

A função PHP wp_get_attachment_metadata() é muito útil para identificar várias informações interessantes de um arquivo. Abaixo citarei duas.

Identificando a duração de um vídeo

<?php
$video_metadados = wp_get_attachment_metadata( $arquivo_id );

if ( $video_metadados && !empty( $video_metadados['length_formatted'] ) ) {
	echo "A duração do vídeo é de {$video_metadados['length_formatted']} segundos.";
} else {
	echo "Não foi possível identificar a duração do vídeo.";
}Code language: PHP (php)

Identificando a câmera utilizada para gerar uma imagem

<?php
$imagem_metadados = wp_get_attachment_metadata( $arquivo_id );

if ( $imagem_metadados && !empty( $imagem_metadados['image_meta']['camera'] ) ) {
	echo "A câmera utilizada foi: {$imagem_metadados['image_meta']['camera']}.";
} else {
	echo "Não foi possível identificar a câmera utilizada.";
}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 *