获取Wordpress特色图片"alt"

bab*_*usi 7 php wordpress

我正在尝试获取页面的特色图像alt并将其作为段落文本回显,但我的代码似乎不起作用.

我现在能够回应图像并且它工作得很好.

这是我正在使用的代码:

    <?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>
Run Code Online (Sandbox Code Playgroud)

gre*_*tys 19

检查您是否获得了正确的缩略图ID.
对我来说,这段代码非常完美:

$thumbnail_id = get_post_thumbnail_id( $post->ID );
$alt = get_post_meta($thumbnail_id, '_wp_attachment_image_alt', true);
Run Code Online (Sandbox Code Playgroud)


Mic*_*tto 5

如果您想获取特色图片的替代文本,可以使用以下代码获取...

<?php echo get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true); ?>
Run Code Online (Sandbox Code Playgroud)

所以如果你想把它放在 P 标签中,这会起作用......

<p><?php echo get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true); ?></p>
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助您,或者至少对某人有所帮助。


Dzh*_*eyt 4

这是一个解决方案

  $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>';
  }
Run Code Online (Sandbox Code Playgroud)

或者您可以使用您的代码,但$alt您需要 echo ,而不是直接回显$alt->post_excerpt

  • 特色图像替代文本存储在“_wp_attachment_image_alt”元数据中,而不是存储在帖子摘录中。 (2认同)