web-dev-qa-db-fra.com

Publier une vignette alt title

je voulais savoir si "Alt title" est nécessaire, comme "Title" pour les miniatures de publication et comment l'ajouter à ma requête de publication associée ... J'utilise ce code pour obtenir la miniature de publication:

<div class="td-module-thumb">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<?php if (has_post_thumbnail()) {
the_post_thumbnail(array(324,235));
} else {
echo '<img src="' . get_bloginfo('template_directory') . '/images/no-thumb/td_324x235.png" />';
}
?>
</a>
</div>
5
Hank Scorpio

Il est nécessaire de définir une valeur alt pour toutes vos images, au cas où un navigateur ne pourrait pas charger l’image ou que le visiteur utilise un lecteur d’écran.

Vous avez deux options. Vous pouvez utiliser la légende de l’image sélectionnée (qui peut parfois être vide) ou utiliser le titre de l’article en tant que alt.

Vous pouvez obtenir la légende en utilisant get_the_post_thumbnail_caption() . Son utilisation est aussi simple que cela:

echo '<img alt="' . esc_html ( get_the_post_thumbnail_caption() ) . '" src="URL HERE" />';

Cependant, il doit être utilisé dans la boucle ou recevoir l’objet ou l’ID $post.

La méthode alternative consiste à utiliser le titre du message en tant que texte alt. Pour ce faire, vous pouvez utiliser:

echo '<img alt="' . esc_html ( get_the_title() ) . '" src="URL HERE" />';

Vous pouvez définir une condition et vérifier si la vignette comporte une légende, et l'utiliser à la place du titre de l'article, le cas échéant:

if ( $alt = get_the_post_thumbnail_caption() ) {
    // Nothing to do here
} else {
    $alt = get_the_title();
}

echo '<img alt="' . esc_html ( $alt ) . '" src="URL HERE"/>

METTRE À JOUR

Si vous souhaitez ajouter l'attribut alt directement à get_post_thumbnail(), vous pouvez le transmettre sous forme de tableau à la fonction:

the_post_thumbnail( 'thumbnail', [ 'alt' => esc_html ( get_the_title() ) ] ); 
5
Jack Johansson

Cet exemple utilise le texte de remplacement tel qu'il est défini dans la bibliothèque multimédia. Je le préfère car le comportement est plus cohérent pour les utilisateurs qui saisissent du texte alternatif à l'aide des options classiques de WordPress.

$thumbnail_id = get_post_thumbnail_id( $post->ID );
$alt = get_post_meta($thumbnail_id, '_wp_attachment_image_alt', true);   
the_post_thumbnail( 'full', array( 'alt' => $alt ) ); ?>
6
Tom Woodward

Vous pouvez utiliser le code suivant dans votre thème WordPress:

<div class="td-module-thumb">
    <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
        <?php if (has_post_thumbnail()) {
            echo '<img src="' . the_post_thumbnail_url( array(324,235) ) . '" alt="any thing you want" title="Some Text" />';
        } else {
            echo '<img src="' . get_bloginfo('template_directory') . '/images/no-thumb/td_324x235.png" alt="any thing you want" title="Some Text" />';
        }
        ?>
    </a>
</div>
0
Peyman Naeimi