Je suis content que WP 4.4. est livré avec une fonction d’image sensible intégrée. Mais je ne suis pas heureux avec ça.
J'ai configuré des tailles d'image personnalisées dans mon functions.php
:
add_image_size ('post-vignettes', 600, 600, true); add_image_size ('news-large', 1024, false); add_image_size ('news-small', 500, false) ; add_image_size ('3-col', 500, 375, true); add_image_size ('presscutting', 600, 850, true); add_image_size ('moyen-grand ', 768, faux); // vient d'être ajouté aujourd'hui pour la prise en charge des périphériques add_image_size ('full-feature-image', 2000, false); add_image_size ('gallery-image', 800, 600, true);
Comme je le pensais, les images qui ne sont pas rognées (ensemble rogné sur false
) sont ajoutées à srcset
. Une image est sortie dans le frontend comme (des sauts de lignes ajoutés pour une meilleure lisibilité):
<img width = "2000" height = "1335" src = "http://mywebsite.com/cms/wp-content/uploads/2015/03/image-2000x1335.jpg" class = "image-pièce-jointe-complète-taille-image-complète" alt = "asdf" srcset = " http://mywebsite.com/ cms/wp-content/uploads/2015/03/image-300x200.jpg 300w, http://mywebsite.com/cms/wp-content/uploads/2015/03/image-768x513.jpg 768w , http://mywebsite.com/cms/wp-content/uploads/2015/03/image-1024x683.jpg 1024w, http://mywebsite.com/cms/wp- content/uploads/2015/03/image-500x334.jpg 500w " tailles =" (largeur maximale: 2000px) 100vw, 2000px ">
Mais maintenant mon problème: sur mon écran, seules les images spécifiées avec une largeur de 1024px sont affichées, bien qu’elles aient une résolution d’écran de 1600px. Donc, toutes les images sont floues.
Comment puis-je faire en sorte que WP et/ou mon navigateur utilise l'image 2kpx à la place? Aurais-je besoin d'ajouter de nouvelles tailles d'image pour, disons, 1280px, 1440px, 1600px, 1968px? Ou existe-t-il un moyen plus simple de dire à WP/le navigateur d'utiliser l'image plus grande au lieu d'afficher une version trop floue et trop floue?
En ce qui concerne la documentation, il y a ce billet de blog sur le Make Blog:
Images réactives dans WordPress 4.4
Pour augmenter la limite de 1600px mentionnée dans les commentaires, essayez ceci:
add_filter('max_srcset_image_width', function($max_srcset_image_width, $size_array){
return 2000;
}, 10, 2);
Enfin, comme déjà mentionné, vous devriez corriger vos appels vers add_image_size
add_image_size ('news-large', 1024, false);
doit être
add_image_size('news-large', 1024, 0, false);
J'ai résolu le même problème en ajoutant une taille supplémentaire à srcset
avec une fonction de filtrage que vous pouvez ajouter dans votre functions.php
:
function filter_max_srcset( $max_width, $size_array ) {
if ( $size_array[0] === 1800 ) {
$max_width = 1800;
}
return $max_width;
}
add_filter( 'max_srcset_image_width', 'filter_max_srcset', 10, 2 );