Wem die drei Bildergrößen, die man unter Einstellungen → Medien definieren kann, nicht ausreichen, der kann recht einfach zusätzliche Bildergrößen definieren. Code nach dem folgenden Muster trägt man in die functions.php des jeweiligen WordPress-Themes ein:
add_image_size( name, breite, höhe, zuschneiden? );
Der Code ist recht einfach zu lesen. Zuerst muss man den Namen des neuen Formats angeben gefolgt von Angaben zur Breite und Höhe in Pixeln und ob das Bild beschnitten (engl. crop) werden soll oder ob es verkleinert werden soll.
Die Standardangabe hierbei ist false
und dabei wird das soft crop eingesetzt, d.h. das Bild wird unter Beibehaltung der Proportionen verkleinert. Setzt man hier den Wert true
ein, dann wird das Bild zugeschnitten. Hier zwei Beispiele:
add_image_size('vorschaubild', 125, 125, true);
add_image_size('produktbild', 500, 350);
Im ersten Beispiel wird das Bild zugeschnitten und im zweiten Beispiel wird das Bild die Proportionen behalten. Weitere Infos dazu findet man in der offiziellen Dokumentation.
Jetzt hat man zwar die Bildgrößen definiert und WordPress wird diese neue Größen auf dm FTP-Server brav generieren, aber im Backend stehen die nicht zur Auswahl. Um das Ergebnis aus der oberen Abbildung zu erreichen muss noch folgendes in die functions.php eintragen:
add_filter('image_size_names_choose', 'custom_image_sizes_choose');
function custom_image_sizes_choose($sizes) {
$custom_sizes = array(
'vorschaubild' => 'Vorschaubild',
'produktbild' => 'Produktbild'
);
return array_merge($sizes, $custom_sizes);
}
Nachtrag: habe es vorhin getestet und das oben genannte Code-Fragment, wie auch das unten vorgestellte Plugin funktionieren auch in WordPress 4.4.2 4.5.3.
Zusätzliche Bildergrößen per Plugin
Wem das ganze zu kompliziert ist oder wer es einfach etwas komfortabler haben möchte, der installiert das WordPress-Plugin Simple Image Sizes. Mit der Erweiterung kann man nicht nur neue Bildformate definieren sondern auch die Artikelbilder neu generieren um die ggfl. an die neuen Größen anzupassen.
Ich habe sowohl die Code-Lösung als auch das Plugin getestet und es funktioniert auch unter WordPress 3.6 4.5.3.
Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienstleistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.
Das ist ein toller Tip. Das erspart mir künftig das umständliche Anpassen der Bildergrößen im Artikel und sorgt für gleichmäßig große Bilder in allen Artikeln.
Frage: Um bereits hochgeladene Bilder in das neue Format zu bekommen, müßten die dann erst gelöscht und neu hochgeladen werden, richtig?
Vielen Dank!
@Oliver,
ich denke das sollte mit diesem Plugin auch gehen.
… und wenn man Bilder in der Mediathek mit einem Klick einfach ersetzen will, kann ich nur EnableMediaReplace empfehlen … kommt bei mir laufend zum Einsatz und ist eine echte Arbeitserleichterung.
Es reicht nicht aus, add_image_size() aufzurufen und den Filter auf image_size_names_choose zu setzen. Beim Editieren eines Bildes werden die neuen Bildgrößen trotzdem nicht berücksichtigt. Zusätzlich müssen einmalig die entsprechenden Einträge in der Datenbank angelegt werden. Etwa so:
add_option('vorschaubild_size_w', 125);
add_option('vorschaubild_size_h', 125);
add_option('vorschaubild_crop', true);
Klasse Tip, sofort ausprobiert und funktioniert wunderbar, dankeschön
…die Beschriftung wird beim Einfügen eines Bildes leider bei diesem Codeschnipsel nicht angezeigt.
Was muss ich in den Filter schreiben, damit die caption wieder erscheint?
Beste Grüße
Frank
…alles zurück:
Schuld war ein Codeschnipsel, um die Bildabmessungen zu entfernen.
Sorry.
// Entfernen Höhe Breite von Bildern
add_filter( ‘get_image_tag’, ‘remove_width_and_height_attribute’, 10 );
add_filter( ‘post_thumbnail_html’, ‘remove_width_and_height_attribute’, 10 );
add_filter( ‘image_send_to_editor’, ‘remove_width_and_height_attribute’, 10 );
function remove_width_and_height_attribute( $html ) {
return preg_replace( ‘/(height|width)=”\d*”\s/’, “”, $html );
}
Hi,
hab nur add_image_size in der functions eingetragen. Trotzdem hat alles bereits funktioniert. Liegt das an 3.8?
@Frank: Hast du es mit editierten Bilder probiert?
Die Options-Einträge sind nur für editierte Bilder nötig, sonst reicht natürlich der Filter.
Ob sich das in 3.8 geändert hat und der Filter nun auch bei editierten Bilder wirkt, habe ich aber noch nicht geprüft.