web-dev-qa-db-fra.com

Définir la taille spécifique des images en vedette

J'essaie de réduire la vitesse de chargement de ma page Web. Google PageSpeed ​​Insights me dit d'optimiser mes images. Dans le code suivant, comment définir une taille d'image de sorte que, si l'image téléchargée mesure 99999x99999px, l'image rendue ait une largeur maximale de 427px?

<?php
if ( has_post_thumbnail() ) {
    echo '<a href="' . get_permalink($post->ID) . '" >';
    the_post_thumbnail();
    echo '</a>';
} else {
    echo '<a href="' . get_permalink($post->ID) . '" ><img src="'. get_stylesheet_directory_uri() . '/img/fallback-featured-image.jpg" /></a>';}
    ?>

J'aimerais que Wordpress gère cela automatiquement afin que je n'aie pas à craindre de recadrer mes images avant de les télécharger. Il est également toujours agréable d'avoir la taille d'origine, mais nous ne voulons pas que l'utilisateur attende le chargement d'une image aussi grande.

1
Arete

Dans votre fichier functions.php, vous souhaitez émettre un appel à set_post_thumbnail_size ()

https://codex.wordpress.org/Function_Reference/set_post_thumbnail_size

Comme avec add_image_size, vous indiquez la largeur, la hauteur et le choix de l’image de votre choix. Donc, par exemple,

set_post_thumbnail_size(427, 427, true);

toutes vos vignettes seront rognées pour atteindre un maximum de 427 px de haut ou de large, en fonction du rapport de format de l'original.

Si tu utilises

set_post_thumbnail_size(427, 9999);

vos images seront ensuite redimensionnées à 427px sans être recadrées.

0