Home » Php » php – Get WordPress Featured Image "alt"

php – Get WordPress Featured Image "alt"

Posted by: admin July 12, 2020 Leave a comment

Questions:

I’m trying to get a page’s featured image alt and echo it as paragraph text but my code doesn’t seem to be working.

I’m currently able to echo the image and it’s working perfectly.

Here’s the code I’m using:

    <?php
    get_header(); ?>
      </div>
    <?php /* The loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <div class="header-image">

    <?php echo get_the_post_thumbnail($page->ID, 'full'); ?> 
    
    <?php $alt = get_post_meta( $attachment_img->ID, '_wp_attachment_image_alt', true ); ?>
    
    <p><?php echo $alt; ?></p>
    
    </div>
How to&Answers:

Here’s a solution:

  $thumbnail_id    = get_post_thumbnail_id($post->ID);
  $thumbnail_image = get_posts(array('p' => $thumbnail_id, 'post_type' => 'attachment'));

  if ($thumbnail_image && isset($thumbnail_image[0])) {
    echo '<span>'.$thumbnail_image[0]->post_excerpt.'</span>';
  }

Or you can use your code, but instead of echoing $alt directly you need to echo $alt->post_excerpt.

Answer:

Check if you get correct thumbnail id.
For me this code works perfect:

$thumbnail_id = get_post_thumbnail_id( $post->ID );
$alt = get_post_meta($thumbnail_id, '_wp_attachment_image_alt', true);