J'ai utilisé une vignette comme celle-ci dans l'un des modèles de mon thème wordpress →
<?php the_post_thumbnail( 'medium' ); ?>
Dans le navigateur, le rendu est le suivant →
<img
width="300"
height="220"
src="http://example.com/image-300x220.jpg"
class="attachment-medium size-medium wp-post-image"
alt=""
srcset="
http://example.com/image-300x220.jpg 300w,
http://example.com/image.jpg 640w"
sizes="(max-width: 300px) 100vw, 300px"
>
Ma première question est de savoir comment mettre height = auto. Existe-t-il une fonction qui puisse nous aider à atteindre cet objectif? comme responsive-img
En bref, je demande si je dois contrôler la largeur à travers le CSS ou WordPress donne une fonction pour le faire?
Si vous souhaitez supprimer la valeur de hauteur de votre URL img, vous pouvez utiliser cette fonction:
add_filter( 'post_thumbnail_html', 'remove_thumbnail_height', 10, 5 );
function remove_thumbnail_height( $html, $post_id, $post_thumbnail_id, $size, $attr ) {
$html = preg_replace( '/height=\"\d*\"/', "", $html );
return $html;
}
Cela remplacera la hauteur par une valeur vide. Notez que vous ne pouvez pas utiliser Auto
comme valeur pour la propriété height
. Il ne sera pas validé par le validateur w3. Cependant, vous pouvez définir la hauteur sur auto dans votre CSS:
.wp-post-image {
height: auto;
}
Vous pouvez utiliser quelque chose comme ça,
vous pouvez utiliser le second paramètre comme un tableau d'attributs comme
the_post_thumbnail('medium', ['class' => 'img-responsive', 'alt' => get_the_title()]);
Si vous n'utilisez pas le framework bootstrap, dans la feuille de style
.img-responsive{
width: 100%;
}