In einem Business-Projekt halfen Schulungen nichts und ich wollte daher die Größe der Bilder, die man direkt im Backend hoch lädt auf ihre Größe prüfen. Das lag zum einem an der Nutzung des IE 6, oder kleiner und zum anderen an den extrem großen Bildern, mit denen man im Zuge der Veröffentlichungen nichts anfangen konnte.

Anderseits sollte aber die Freiheit der überlegten Nutzer nicht eingeschränkt werden und so habe ich nach einer Lösung zum prüfen der Größe gesucht und da WordPress die Werte ja ausgibt, wenn man es einfügt, muss auch irgendwo der Wert stehen. Ein weiterer schöner Tipp war der Hook wp_update_attachment_metadata, den Scribu postete und mir damit den direkten Zugriff ermöglicht hat.
Die folgende Syntax zeigt daher eine einfache Möglichkeit die Werte zu zu prüfen und bei falscher Dimension diese wieder zu löschen.
Abgelegt in der functions.php des Themes tut seit dem ihre Arbeit und erzieht die Nutzer.
function fb_check_size($data, $id) {
/* Werte in Pixel festlegen */
$maxwidht = 800;
$maxheigth = 600;
if ( $data['width'] > $maxwidht && $data['height'] > $maxheigth ) {
wp_delete_attachment($id);
die( 'Fehler: Bild ist zu groß, max. ' . $maxwidht . ' x ' . $maxheigth . 'px!' );
} else {
return $data;
}
}
add_filter( 'wp_update_attachment_metadata', 'fb_check_size', 10, 2 );
Gleich einmal eingebaut, es funktioniert super. Meine Bilder größe noch angegeben und getestet.
Danke aus dem Norden und viele Grüße von
Thomas
Nutzer erzieht man nur mit Stromstößen, nicht mit Hinweisen
Hi Frank,
sollte es nicht besser mit || statt && sein? So würde es doch 1000x400 oder umgekehrt durchlassen, oder blick ich es jetzt nicht!?
@Olaf: die Abfrage muss man gestallten wie man will. Jetzt muss es min 800px breit und (
&&) 600 hoch sein, was aber nur ein Beispiel sein soll und jeweils an die Bedürfnisse angepasst werden muss. Natürlich geht das mit oder (||), so dass nur ein Wert nicht stimmen muss um das Bild abzulehnen.