Obtener el texto alternativo de la imagen destacada

23 ago 2018, 16:49:03
Vistas: 20.9K
Votos: 1

Estoy tratando de obtener el texto alternativo de nuestra imagen destacada y mostrarlo en el frontend.

Actualmente mi código es

<img class="vehicle-photo" src="<?php echo the_post_thumbnail_url() ?>" alt="<?php the_post_thumbnail_caption();?>" />

Pero en el frontend, se está mostrando como

<img class="vehicle-photo" src="url de la foto aquí" alt="">

Para obtener el texto alternativo de la imagen destacada, debes usar get_post_meta() o get_post_thumbnail_id(). Aquí hay una solución:


<?php
$thumbnail_id = get_post_thumbnail_id($post->ID);
$alt_text = get_post_meta($thumbnail_id, '_wp_attachment_image_alt', true);
?>
<img class="vehicle-photo" src="<?php echo get_the_post_thumbnail_url(); ?>" alt="<?php echo esc_attr($alt_text); ?>" />
0
Todas las respuestas a la pregunta 2
1
14

El texto alternativo se almacena como metadatos de la publicación en el adjunto, y se puede recuperar con get_post_meta() combinado con get_post_thumbnail_id():

<?php echo get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true ); ?>

Pero si simplemente usas la función the_post_thumbnail() entonces no necesitas preocuparte, la etiqueta img se generará automáticamente, incluyendo el texto alternativo:

<?php the_post_thumbnail( 'post-thumbnail', ['class' => 'vehicle-photo'] ); ?>
23 ago 2018 17:03:42
Comentarios

the_post_thumbnail() también te permite seleccionar un tamaño renderizado adecuado para la imagen, por lo que la imagen no será innecesariamente grande.

Omar Shishani Omar Shishani
28 jun 2022 20:57:30
0

Prueba el siguiente código:

<?php $image_id = get_post_thumbnail_id(get_the_ID());
$alt_text = get_post_meta($image_id , '_wp_attachment_image_alt', true);?>//Nombre de variable actualizado

<img class="vehicle-photo" src="<?php echo the_post_thumbnail_url() ?>" alt="<?php echo $alt_text ;?>" />
23 ago 2018 17:01:11