Tag alt, title non vengono visualizzati

24 gen 2017, 09:59:56
Visualizzazioni: 21.6K
Voti: 4

Ho aggiunto i tag alt, title e description a tutte le immagini del mio sito web ma nessuno di questi viene visualizzato quando li controllo con lo strumento di ispezione elementi in Chrome o Firefox.

Ecco uno screenshot:

Esempio di immagine con tag alt e title non visualizzati

Ed ecco lo screenshot dell'ispezione elementi della stessa immagine:

Ispezione elementi che mostra tag alt e title mancanti

1
Commenti

Ho provato diverse soluzioni trovate online ma non hanno funzionato, e alla fine ho trovato la mia soluzione per visualizzare il testo alternativo sulle immagini in Wordpress.

johnhgaspay johnhgaspay
22 feb 2019 17:45:06
Tutte le risposte alla domanda 4
1

Ho trovato uno script, prova se funziona per te. Aggiungi questo nel file functions.php del tuo tema

/**
 * Aggiunge il titolo dell'immagine come attributo title e alt
 *
 * @param array $attr Attributi dell'immagine
 * @param WP_Post|null $attachment Oggetto attachment dell'immagine
 * @return array Attributi modificati
 */
function isa_add_img_title( $attr, $attachment = null ) {

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

    $attr['title'] = $img_title;  // Imposta il titolo
    $attr['alt'] = $img_title;    // Imposta il testo alternativo

    return $attr;
}
// Aggiunge il filtro per modificare gli attributi delle immagini
add_filter( 'wp_get_attachment_image_attributes','isa_add_img_title', 10, 2 );
24 gen 2017 10:03:27
Commenti

Ecco un link a tutti i file del tema se vuoi dare un'occhiata.

https://ufile.io/0e683

Rahul Rahul
24 gen 2017 10:20:01
2

In realtà dipende da come l'immagine viene mostrata nel template. Se viene mostrata utilizzando una funzione come the_post_thumbnail() che restituisce una stringa HTML completa per mostrare l'immagine con l'attributo alt, allora non dovrebbero esserci problemi. Ma se l'immagine viene mostrata recuperando solo l'URL, allora dipende da come viene visualizzata.

Ad esempio, qui sotto c'è un frammento di codice che recupera direttamente l'immagine in una pagina di allegato di WordPress:

//recupero l'URL src dell'immagine allegata 
$attachment_size = apply_filters( 'abc_attachment_size', array( 960, 960 ));
$image_attributes = wp_get_attachment_image_src( $post->ID, $attachment_size); 

if( $image_attributes ) {
?> 
<img src="<?php echo $image_attributes[0]; ?>" width="<?php echo $image_attributes[1]; ?>" height="<?php echo $image_attributes[2]; ?>">
<?php } ?>

Nel codice sopra, stiamo mostrando l'immagine dai dati recuperati individualmente, e poiché l'attributo alt non viene utilizzato, non verrà mostrato. Similmente nel tuo caso, presumo che sia perché il tema non ha specificato l'attributo alt, quindi non viene visualizzato.

Inoltre, ho provato a scaricare il tuo file del tema ma è stato segnalato come dannoso dal browser, quindi ho lasciato perdere.

24 gen 2017 10:51:56
Commenti

Quindi non c'è modo di mostrare i tag alt e title se non sono presenti nel tema?

Rahul Rahul
24 gen 2017 11:10:13

Come detto, dipende da come è implementato nel tema. Dall'output che hai condiviso, presumo sia una posizione specifica del tema e non può essere risposto senza vedere il codice per quella particolare posizione. Puoi chiedere allo sviluppatore del tema di guidarti o condividere il codice qui per ottenere una soluzione esatta.

Saahib Saahib
24 gen 2017 11:33:24
0

Per far apparire il tag alt con quell'immagine, devi modificare il tema. Il codice che genera l'immagine si trova in mediatraining/inc/modules/trainers/shortcode.php. Alla riga 13 l'immagine viene caricata dalle opzioni:

$img = mbtheme_get_option( 'lead-trainer-image' );
$img_url = $img[ 'url' ];

Alla riga 27 viene poi utilizzata:

<img src="<?php echo esc_url( $img_url ); ?>" />

Quindi per poter avere il tag alt qui potresti provare qualcosa come questo alla riga 27:

<img src="<?php echo esc_url( $img_url ); ?>" alt="<?php echo esc_attr( $img['alt'] ); ?>" />

Questo non è stato testato e non sono sicuro riguardo alla parte $img['alt'], perché non so esattamente cosa viene salvato lì. In alternativa prova $img['title'] oppure prova a fare un dump di $img per vedere se il testo alt può essere trovato lì.

24 gen 2017 11:35:36
0

Sembra che (a partire dalla versione 4.7) l'attributo alt non venga più visualizzato automaticamente. Esistono plugin che ripristinano questa funzionalità (es. https://wordpress.org/plugins/auto-image-alt/). Se hai in mente l'SEO, questi sono utili solo in parte perché l'attributo viene aggiunto tramite JavaScript.

18 dic 2018 17:38:25