Normalerweise erhalten Sie add_image_size( 'custom-size', 400, 400, true );
die folgenden Ergebnisse, wenn Sie eine benutzerdefinierte Bildgröße mit hartem Zuschneiden festlegen - z. B. -
- # 1 Hochgeladenes Bild: 600x500> Miniaturbild: 400x400.
- # 2 Hochgeladenes Bild: 500x300> Miniaturbild: 400x300.
- # 3 Hochgeladenes Bild: 300x200> Miniaturbild: 300x200.
Was ich jedoch tun möchte, ist, wenn das hochgeladene Bild kleiner als die festgelegte Breite oder Höhe oder beides der benutzerdefinierten Bildgröße ist, z. B. Beispiele 2 und 3 oben - anstatt dass das Bild nur passend zugeschnitten wird Innerhalb dieser Dimensionen wird es auch so zugeschnitten, dass es dem Seitenverhältnis (in diesem Fall 1: 1) entspricht:
- # 1 Hochgeladenes Bild: 600x500> Miniaturbild: 400x400.
- # 2 hochgeladenes Bild: 500x300> Miniaturbild: 300x300 .
- # 3 Hochgeladenes Bild: 300x200> Miniaturbild: 200x200 .
Ich glaube nicht, dass dies mit den Standardoptionen add_image_size möglich ist, aber ist es möglich, eine andere Funktion oder einen Hook zu verwenden, der die Funktion add_image_size ändert?
Oder gibt es ein Plugin, das diese Funktionalität hinzufügt?
Alle Informationen, die jemand zur Verfügung stellen kann, wären sehr dankbar.
add_image_size
, was ich oben beschrieben habe. Ich bin mir ziemlich sicher, dass dies mit den Standardparametern nicht möglich ist, aber ich hoffe, dass dies mit einem Hook, einer Aktion oder einem Filter möglich ist.Antworten:
Sie haben Recht, dass es einfach nicht so funktioniert.
Wenn es in Ordnung ist, Ihre Frage umgekehrt zu betrachten, können Sie in modernen Browsern mit einer Auswahl an Bildgrößen und reaktionsschnellen Bildern das richtige Ergebnis erzielen.
Wenn Sie folgenden Code verwenden:
... und in Ihren Vorlagen so etwas wie:
... dann erhalten Sie standardmäßig (WP 4.4 und höher) ein Bild-Tag mit der kleinsten Version aus Ihrem Set als
src
und den größeren Größen imsrcset
Attribut, aus dem neuere Browser die größte geeignete Version auswählen und anzeigen.Wenn ein bestimmtes Bild keine größere Version hat, spielt dies keine Rolle. Für ein Bild,
300x200
für das eine200x200
Version erstellt wurde, ist diese Version die einzige im HTML-Code, und alle Browser zeigen sie an.Ich habe dies herausgefunden, während ich reaktionsschnelle Bilder optimiert habe, damit ich eine gute Leistung in Browsern erhalte, die nur unterstützen
src
und nichtsrcset
.quelle
Dies ist keine wirklich gute Lösung, da es sich um eine neuere CSS-Lösung handelt und nur in 78,9% der Benutzerbrowser funktioniert. Es gibt jedoch einige Polyfills, die diese Objekt-Fit-Bilder und Fitie überwinden können
Im Idealfall wäre es besser, wenn die kleineren Bilder beim Hochladen proportional skaliert würden, aber ich konnte keine Lösung dafür finden.
quelle