Alt și title pentru thumbnail-ul postării

19 iun. 2017, 03:50:56
Vizualizări: 51.5K
Voturi: 10

Am vrut să știu dacă atributul "Alt title" este necesar ca și atributul "Title" pentru thumbnail-urile postărilor și cum îl pot adăuga în interogarea pentru postările conexe... folosesc acest cod pentru a obține thumbnail-ul postării:

<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>
0
Toate răspunsurile la întrebare 4
1
24

Acest exemplu folosește textul alternativ (alt text) așa cum este setat în biblioteca media. Prefer această abordare deoarece comportamentul este mai consistent pentru utilizatorii care introduc textul alternativ folosind opțiunile standard de încărcare media din 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 ) );
14 iun. 2018 18:06:54
Comentarii

Acesta ar trebui să fie acceptat ca răspunsul corect

WordPress Speed WordPress Speed
15 iul. 2019 10:30:22
0

Este necesar să setați o valoare alt pentru toate imaginile dumneavoastră, în cazul în care un browser nu poate încărca imaginea sau vizitatorul utilizează un ecran de citire.

Aveți două opțiuni. Fie utilizați descrierea imaginii principale (care uneori poate fi goală), fie utilizați titlul articolului ca alt.

Puteți obține descrierea utilizând get_post_meta(). Utilizarea acesteia este la fel de simplă ca:

$alt = get_post_meta ( $image_id, '_wp_attachment_image_alt', true );
echo '<img alt="' . esc_html ( $alt ) . '" src="URL HERE" />';

Ar trebui utilizată în buclă, sau să i se transmită obiectul sau ID-ul $post.

Metoda alternativă este să utilizați titlul articolului ca text alt. Pentru a face acest lucru, puteți utiliza:

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

Puteți configura o condiție și verifica dacă imaginea miniatură are o descriere, și să o utilizați în locul titlului articolului, dacă este disponibilă:

if ( $alt = get_the_post_thumbnail_caption() ) {
    // Nimic de făcut aici
} else {
    $alt = get_the_title();
}

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

ACTUALIZARE

Dacă doriți să adăugați atributul alt direct la get_post_thumbnail(), îl puteți transmite ca un array funcției:

the_post_thumbnail( 'thumbnail', [ 'alt' => esc_html ( get_the_title() ) ] ); 
19 iun. 2017 04:14:07
2
-1

Cea mai simplă soluție este următorul cod.

$thumbnail_id = get_post_meta( $post->ID, '_thumbnail_id', true );
$img_alt = get_post_meta ( $thumbnail_id, '_wp_attachment_image_alt', true );

echo $img_alt;

Sau pentru a completa codul:

$thumbnail_id = get_post_meta( $post->ID, '_thumbnail_id', true );
$img_alt = get_post_meta ( $thumbnail_id, '_wp_attachment_image_alt', true );

if(! $img_alt){
    $img_alt = get_the_title();
}
6 apr. 2021 21:24:07
Comentarii

Este același lucru ca la Tom, dar fără a folosi get_post_thumbnail_id(). Ce e în neregulă cu get_post_thumbnail_id()?

Rup Rup
7 apr. 2021 02:41:18

@Rup Nu face nicio diferență. Doar că această variantă este mai simplă și mai scurtă.

Mohammad Shiralizadeh Mohammad Shiralizadeh
8 apr. 2021 20:07:05
1
-2

Puteți utiliza următorul cod în tema 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="orice doriți să adăugați" title="Text sugestiv" />';
        } else {
            echo '<img src="' . get_bloginfo('template_directory') . '/images/no-thumb/td_324x235.png" alt="orice doriți să adăugați" title="Text sugestiv" />';
        }
        ?>
    </a>
</div>
19 iun. 2017 09:13:37
Comentarii

Bun venit pe WPSE. Te rugăm să adaugi o explicație la răspunsul tău: de ce ar putea rezolva problema? Dar titlul alternativ al imaginii evidențiate a postării solicitate?

Sven Sven
19 iun. 2017 11:09:29