Estoy dando etiquetas alt para una imagen mientras la carga, pero no toma las etiquetas alt de la imagen dada, se muestra en blanco

Intenté agregar este filtro pero aún no funciona

/* Register callback function for post_thumbnail_html filter hook */
add_filter( 'post_thumbnail_html', 'meks_post_thumbnail_alt_change', 10, 5 );

/* Function which will replace alt atribute to post title */
function meks_post_thumbnail_alt_change( $html, $post_id, $post_thumbnail_id, $size, $attr ) {

    $post_title = get_the_title();
    $html = preg_replace( '/(alt=")(.*?)(")/i', '$1'.esc_attr( $post_title ).'$3', $html );

    return $html;

}

El contenido de la publicación se muestra desde el archivo loop-single.php

<div class="entry-content">
    <?php the_content(); ?>
    <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
</div><!-- .entry-content -->

Cómo usar esas etiquetas alt para la imagen destacada de mi publicación

0
mahethekiller 15 dic. 2016 a las 08:35

2 respuestas

La mejor respuesta

Bueno, descubrí el error, parece que el desarrollador anterior agregó la imagen manualmente a la publicación y también se configuró la imagen destacada. así que me confundí.

Simplemente coloco el texto alternativo en modo de edición de la publicación directamente.

0
mahethekiller 15 dic. 2016 a las 09:00

Prueba esto, funcionó para mí :)

function change_post_thumbnail_html($html, $post_id, $post_thumbnail_id, $size, $attr) {
    $id = get_post_thumbnail_id();
    $src = wp_get_attachment_image_src($id, $size); 
    $alt = get_the_title($id); // gets the post thumbnail title
    $class = $attr['class'];
    $html = '<img src="' . $src[0] . '" alt="' . $alt . '" class="' . $class . '" />';
    return $html;
}
add_filter('post_thumbnail_html', 'change_post_thumbnail_html', 99, 5);
0
Noman 15 dic. 2016 a las 06:09