wp_get_attachment_image WordPress Block Editor (Gutenberg) Equivalente é getMedia
Procurando como obter a miniatura da postagem ou um URL de anexo por seu ID no WordPress gutenberg?
Você pode ter um objeto post retornado usando o equivalente WordPress Gutenberg de WP_Query (ou o equivalente WordPress Gutenberg de get_post ).
Observe que no objeto de postagem você pode obter o ID da mídia em destaque, que é armazenado na featured_mediapropriedade.
Você pode então usar o getMediapara obter as propriedades para este anexo por ele Id, assim:
wp.data.select( 'core' ).getMedia( 42 );
Aqui está no console:
Usando getMedia no console.
Podemos explorar o objeto de imagem que é retornado no console e ver que podemos pegar todos os dados, texto alternativo, meta e tamanhos de imagem que precisamos para exibir a imagem.
Observe que os tamanhos de imagem nos dados de exemplo abaixo foram abreviados, caso contrário, isso continuará por um bom tempo.
id: 101
date: "2020-03-21T14:02:00"
date_gmt: "2020-03-21T14:02:00"
guid: {
rendered: "https://wholesomecode.ltd/wp-content/uploads/2020/03/Code-Example.png"
raw: "https://wholesomecode.ltd/wp-content/uploads/2020/03/Code-Example.png"
}
modified: "2020-03-21T14:02:00"
modified_gmt: "2020-03-21T14:02:00"
slug: "code-example"
status: "inherit"
type: "attachment"
link: "https://wholesomecode.ltd/code-example/"
title: {
raw: "Code Example"
rendered: "Code Example"
}
author: 1
comment_status: "closed"
ping_status: "closed"
template: ""
meta: {
_wcltd_meta_example_1: "1"
_wcltd_meta_example_2: "Hello"
}
permalink_template: "https://wholesomecode.ltd/wp-content/uploads/2020/03/Code-Example.png/?attachment_id=101"
generated_slug: "code-example"
description: {
raw: "Code Example"
rendered: "..."
}
caption: {
raw: "Code Example"
rendered: "<p>Code Example</p>↵"
}
alt_text: "Code Example"
media_type: "image"
mime_type: "image/png"
media_details: {
width: 2310
height: 1400
file: "2020/03/Code-Example.png"
sizes: {
...
large: {
file: "Code-Example-1024x621.png"
width: 1024
height: 621
mime_type: "image/png"
source_url: "https://wholesomecode.ltd/wp-content/uploads/2020/03/Code-Example-1024x621.png"
}
}
image_meta: {
aperture: "0"
credit: ""
camera: ""
caption: ""
created_timestamp: "0"
copyright: ""
focal_length: "0"
iso: "0"
shutter_speed: "0"
title: ""
orientation: "0"
}
}
post: null
source_url: "https://wholesomecode.ltdwp-content/uploads/2020/03/Code-Example.png"
Veja isso em ação no exemplo de loop de postagem do WordPress Gutenberg.