web-dev-qa-db-fra.com

get_the_post_thumbnail_url avec une taille non enregistrée

Le référence officielle du code } pour get_the_post_thumbnail_url indique:

$ size (string | array) (Facultatif) Taille d'image enregistrée pour extraire la source de ou un tableau plat de dimensions en hauteur et en largeur .

(c'est moi qui souligne).

J'utilise les paramètres suivants:

$img_url = get_the_post_thumbnail_url(get_the_ID(), array('300' , '170'));

Mais il ne retourne pas la taille que je veux.

Les tailles d'image enregistrées sont 150 x 150, 300 x 300 et 1024 x 1024.

2
That Brazilian Guy

WordPress ne crée aucune miniature à la volée. Si vous essayez d'extraire une taille qui n'existe pas, la taille la plus proche ou l'image au maximum sera récupérée.

La solution la plus proche que vous puissiez essayer consiste à extraire une taille supérieure à celle souhaitée, puis à la redimensionner via CSS et à la rogner.

Supposons que les tailles enregistrées sont 50 x 150, 300 x 300 et 1024 x 1024, mais que vous avez besoin d'une image 300x177. Récupérez le 300x300, puis clip it en utilisant CSS:

#my-div img {
    position: absolute;
    clip: rect( 0px, 300px, 177px, 0px );
}
1
Jack Johansson