¿Cómo se eliminan las dimensiones de las imágenes en miniatura codificadas?

15

¿Cómo puedo eliminar los atributos de ancho y alto de post_thumbnail al insertar con <?php the_post_thumbnail(); ?>?

<img width="800" height="533" src="http://domain.com/wp-content/uploads/2011/02/image.jpg" class="attachment-post-thumbnail wp-post-image" />
Carson
fuente
buscan thumbnail.php archivo, no estoy seguro, pero por lo general que los archivos contienen la codificación del disco
Niraj Chauhan
En caso de que se lo pregunte, quiero poder modificar los anchos y la altura con CSS, más específicamente establezca un ancho máximo y deje que la altura se establezca en lugar del valor predeterminado.
Carson
usa firebug para obtener la clase o ID exacta, o dame tu URL
Niraj Chauhan
2
Cambiar cualquier cosa en un archivo fuera del tema (por ejemplo post-thumbnail-template.php) sería una mala idea ya que cualquier actualización de WordPress lo sobrescribiría.
Carson
¿Qué te hace pensar que necesitas eliminar los atributos para hacer lo que quieres?
t31os

Respuestas:

25

Relacionado: ¿ Filtro para eliminar atributos de dimensión de imagen?

Hay un filtro en el post_thumbnail_htmlque recibe como argumento el elemento html completo que representa la imagen en miniatura de la publicación antes de que se repita en la página. Puede filtrar las dimensiones con un poco de expresión regular:

add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3 );

function remove_thumbnail_dimensions( $html, $post_id, $post_image_id ) {
    $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
    return $html;
}
goldenapples
fuente
A mi no me funciona. add_filter ('post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3); función remove_thumbnail_dimensions ($ html, $ post_id, $ post_image_id) {if (wp_is_mobile ()) {$ html = preg_replace ('/ (width | height) = \ "\ d * \" \ s /', "", $ html ); } return $ html; }
dlopezgonzalez
5

puedes agarrar la url del pulgar y ponerla en una etiqueta img tú mismo:

<?php
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'your_thumb_handle' );
?>
<img src="<?php echo $thumbnail['0']; ?>" />
Milo
fuente
1
Esa es la única solución que he encontrado también, solo esperaba que hubiera una manera de hacerlo sin una solución alternativa.
Carson
Pero también debe consultar los atributos alt y title
MZAweb
0
add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 );
add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 );
add_filter( 'the_content', 'remove_thumbnail_dimensions', 10 );
function remove_thumbnail_dimensions( $html ) {
    $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
    return $html;
}

esto hará el trabajo, "the_contnet" eliminará todo el ancho y alto de la imagen del texto del contenido de la publicación.

Duque Yin
fuente
Por favor, editar su respuesta , y añadir una explicación: ¿por qué podría que resolver el problema?
fuxia