Vous cherchez un hack pour redimensionner les images lors du téléchargement (toutes les formes de téléchargement d’images sur wordpress) aux dimensions exactes, mais ne pas recadrer.
Je vais ouvrir une prime pour cette question car je crois que cela peut être utile pour beaucoup de gens.
La solution idéale doit consister en un plug-in et en utilisant les dimensions de l'image déjà spécifiées sur la page des paramètres de support (options-media.php/Thumbnail, Medium et Large).
Je sais que l'idéal est parfois impossible, alors la réponse la plus proche sera celle acceptée
Le redimensionnement sans recadrage fait déjà partie de la fonctionnalité principale, via add_image_size()
.
Notez le dernier paramètre:
<?php add_image_size( $name, $width, $height, $crop ); ?>
L'entrée Codex décrit le paramètre $crop
comme suit:
$crop
(booléen) (facultatif) Rognez l'image ou non. False - Mode de rognage proportionnel progressif; True - Mode de rognage difficile. Valeur par défaut:
false
Je préfère décrire cette option sous la forme hard-crop vs. box-resize . Le rognage dur rognera l'image en fonction de la dimension la plus restreinte, tandis que le redimensionnement par boîte le redimensionnera simplement, en conservant ses proportions d'origine.
Ainsi, pour créer une taille d'image boîte-redimensionnée, définissez-la simplement comme suit:
add_image_size( 'image-size-name', $width, $height, false );
Notez que ce comportement est le paramètre par défaut. Pour effectuer un rognage dur, vous devez spécifier explicitement$crop
être true
.
Changer la taille de l'image post-thumbnail
en redimensionnement de la boîte est similaire; utilisez simplement set_post_thumbnail_size()
, qui a également un paramètre $crop
:
<?php set_post_thumbnail_size( $width, $height, $crop ); ?>
Je suis à peu près sûr que les tailles d'images 'medium'
et 'large'
sont déjà redimensionnées au lieu d'être rognées.