Wie rufe ich den Alt-Text eines Bildes in WordPress ab und zeige ihn an?

Lesezeit: 3 Minuten

Benutzeravatar von user3254973
Benutzer3254973

Wie rufe ich den Alt-Text eines Bildes in WordPress ab und zeige ihn an? versuchen, den Titel für das Alt zu ersetzen. hier ist der originalcode.

<?php while ( have_posts() ) : the_post(); ?>

  <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
   <header class="entry-header">
    <h1 class="entry-title"><?php the_title(); ?></h1>

Also in der h1 möchte ich:

<h1 class="entry-title">"alt text of image"</h1>

versucht, es in eine Variable wie folgt zu setzen:

 $alt_text = get_post_meta($img_id , '_wp_attachment_image_alt', true);
<h1 class="entry-title"><?php echo $alt_text; ?></h1>

aber es taucht nicht auf. irgendwelche Lösungen?

  • Was ist die aktuelle Ausgabe? Sind Sie sicher, dass die Variable $img_id ist richtig?

    – Maxim Lorant

    21. Februar 2014 um 21:26 Uhr


  • Stromausgang ist einfach nichts. keine Ahnung, ob $img_id auch richtig ist.

    – Benutzer3254973

    22. Februar 2014 um 1:29 Uhr

Zuerst müssen Sie bekommen attachment ID zum bekommen alt Text..

Verwenden Sie diesen Code, um das zu bekommen,

$img_id = get_post_thumbnail_id(get_the_ID());

Fügen Sie jetzt Ihren Code hinzu,

<?php $alt_text = get_post_meta($img_id , '_wp_attachment_image_alt', true); ?>
<h1 class="entry-title"><?php echo $alt_text; ?></h1>

Stellen Sie sicher, dass Ihre attachment Alternative Text ist nicht leer…

Du kannst hinzufügen Alternative Text aus wp-admin --> Media --> edit your attachment --> Alternative Text

  • <?php get_header(); ?> <div id="primary" class="content-area image-attachment"> <div id="content" class="site-content" role="main"> <?php while ( have_posts() ) : the_post(); ?> <?php $img_id = get_post_thumbnail_id(get_the_ID()); $alt_text = get_post_meta($img_id , '_wp_attachment_image_alt', true); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <header class="entry-header"> <h1 class="entry-title"><?php echo $alt_text; ?></h1>

    – Benutzer3254973

    24. Februar 2014 um 17:10 Uhr


Können Sie bitte den folgenden Code versuchen:

<?php
$thumb_id = get_post_thumbnail_id(get_the_ID());
$alt = get_post_meta($thumb_id, '_wp_attachment_image_alt', true);
if( $alt ):
    echo $alt;
endif;
?>

Ich habe ein Skript gefunden, versuchen Sie, ob das für Sie funktioniert. Fügen Sie dies in der Datei functions.php Ihres Themes hinzu

Funktion isa_add_img_title( $attr, $attachment = null ) {

$img_title = trim( strip_tags( $attachment->post_title ) );

$attr['title'] = $img_title;
$attr['alt'] = $img_title;

return $attr;

} add_filter( ‘wp_get_attachment_image_attributes’, ‘isa_add_img_title’, 10, 2 );

Ich habe festgestellt, dass dieses Skript an meinem Ende funktioniert, ähnlich wie bei Mukesh Panchal. Ich habe andere Skripte von anderen ausprobiert, aber es hat nicht funktioniert.

<?php $thumb_id = get_post_thumbnail_id(get_the_ID()); 
$alt = get_post_meta($thumb_id, '_wp_attachment_image_alt', true); ?>
<img class="image" src="https://stackoverflow.com/questions/21945488/<?php echo $feature_image; ?>" alt="<?php echo $alt; ?>" >

Der folgende Code behebt dies. Wenn eine Seite geladen wird, findet sie alle Bilder, denen Alt-Text fehlt, und prüft, ob Sie in der Medienbibliothek einen Alt-Text dafür angegeben haben. Wenn dies der Fall ist, wird das Bild aktualisiert, bevor die Seite geladen wird.

add_filter( 'render_block', function( $content, $block ) {
    if( 'core/image' !== $block['blockName'] )
        return $content;

    $alt = get_post_meta( $block['attrs']['id'], '_wp_attachment_image_alt', true );
    if( empty( $alt ) )
        return $content;

    // Empty alt
    if( false !== strpos( $content, 'alt=""' ) ) {
        $content = str_replace( 'alt=""', 'alt="' . $alt . '"', $content );

    // No alt
    } elseif( false === strpos( $content, 'alt="' ) ) {
        $content = str_replace( 'src="', 'alt="' . $alt . '" src="', $content );
    }

    return $content;
}, 10, 2 );

<?php $image_id = get_post_thumbnail_id();
$image_alt = get_post_meta($image_id, '_wp_attachment_image_alt', TRUE);
$image_title = get_the_title($image_id);?>
<img alt="<?php echo $image_title;?>">

1428890cookie-checkWie rufe ich den Alt-Text eines Bildes in WordPress ab und zeige ihn an?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy