Sidebar
ein-/ausblenden

Attachment Upload Größe kontrollieren

Plugin für WordPress SEO

Anzeige

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.

WordPress Upload Prüfung

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 );

5 Kommentare zu „Attachment Upload Größe kontrollieren“

  1. 1
    Kommentar von thomas57

    Gleich einmal eingebaut, es funktioniert super. Meine Bilder größe noch angegeben und getestet.
    Danke aus dem Norden und viele Grüße von
    Thomas

  2. 2
    Kommentar von Ralf

    Nutzer erzieht man nur mit Stromstößen, nicht mit Hinweisen ;)

  3. 3
    Kommentar von Frank Bültge

    :) so wollte ich es nicht ausdruecken, aber man kann ja auch eine andere Funktion aufrufen und nicht die().

  4. 4
    Kommentar von Olaf

    Hi Frank,
    sollte es nicht besser mit || statt && sein? So würde es doch 1000x400 oder umgekehrt durchlassen, oder blick ich es jetzt nicht!?

  5. 5
    Kommentar von Frank Bültge

    @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.

Kommentare sind geschlossen.