Auf der Suche nach einem Hack, um die Größe von Bildern beim Hochladen (alle Formen des Hochladens von Bildern in WordPress) auf die genauen Abmessungen zu ändern, aber nicht zum Zuschneiden.
Ich werde ein Kopfgeld für diese Frage eröffnen, da ich glaube, dass es vielen Menschen helfen kann.
Die ideale Lösung muss ein Plugin sein und die auf der Seite "Medieneinstellungen" (options-media.php/Thumbnail, Medium und Large) angegebenen Bildabmessungen verwenden.
Ich weiß, dass das Ideal manchmal nicht erreicht werden kann, daher ist die naheliegendste Antwort die akzeptierte
Das Ändern der Größe ohne Zuschneiden ist bereits Teil der Kernfunktionalität über add_image_size()
.
Beachten Sie den letzten Parameter:
<?php add_image_size( $name, $width, $height, $crop ); ?>
Der Codex-Eintrag beschreibt den Parameter $crop
wie folgt:
$crop
(Boolean) (optional) Zuschneiden des Bildes oder nicht. Falsch - Weicher proportionaler Erntemodus; True - Hard Crop-Modus. Standardwert:
false
Ich beschreibe die Option lieber als Hard-Crop vs. Box-Resize . Beim harten Zuschneiden wird das Bild auf der Grundlage der am meisten eingeschränkten Bemaßung zugeschnitten, während bei der Größenänderung durch Kästchen einfach die Größe des Bildes geändert wird, wobei die ursprünglichen Bemaßungsproportionen beibehalten werden.
Um eine in der Größe eines Feldes Bildgröße zu erstellen, definieren Sie diese einfach wie folgt:
add_image_size( 'image-size-name', $width, $height, false );
Beachten Sie, dass dieses Verhalten die Einstellung Standard ist. Um eine harte Beschneidung zu erzielen, müssen Sie explizit angeben$crop
angeben, um true
zu sein.
Das Ändern der Bildgröße von post-thumbnail
in die Größe des Rahmens ist ähnlich. Verwenden Sie einfach set_post_thumbnail_size()
, das auch einen $crop
-Parameter hat:
<?php set_post_thumbnail_size( $width, $height, $crop ); ?>
Ich bin mir ziemlich sicher, dass die Bildgrößen von 'medium'
und 'large'
bereits in der Größe des Rahmens angepasst und nicht in der Größe festgeschnitten sind.