Die Verwaltung von Anhängen zu Artikeln, Seiten und anderen Post Typen ist recht einfach und nutzbar in WordPress umgesetzt. Viele Betreiber wünschen sich diverse Optionen bzw. Erweiterungen in diesem Umfeld. Eine übliche Anfrage dazu ist das Einschränken von Uploads zum Artikel.
WordPress stellt diverse Filter Hooks zur Verfügung und so kann der Upload-Prozess überwacht werden, so auch die Anzahl der Uploads von Anhängen, die sichtbaren Tabs und der aktive Tab. Alle drei Punkte werden in einem kleinen Plugin genutzt und sind hoffentlich verständlich. Das Plugin kann gern genutzt werden, es schränkt den Nutzer im Umfang der Uploads ein, entfernt gegebenenfalls die unnötigen Tabs und setzt das aktive Tab neu, falls die maximale Anzahl von Anhängen erreicht ist.
In diesem Zusammenhang sind folgenden Filter zu nutzen:
wp_handle_upload_prefilter Filter $file on Handle PHP uploads in WordPress
media_upload_tabs Applied to the list of custom tabs to display on the upload management admin screen. Use action upload_files_(tab) to display a page for your custom tab
media_upload_default_tab Filter default tabs

Ich würde mich freuen, wenn es diverse Erweiterungen und Verbesserungen gibt, vielleicht gibt es Aspekte, die ich aktuell nicht sehe und die es lohnt, zu integrieren. Genau darum liegt das Plugin nun in einem »» Github Repo zur öffentlichen Verfügung und nicht nur als String hier im Artikel.
In diesem Umfeld kann man dann wieder eine ganze Reihe weiterer Funktionen nutzen und die Arbeit mit den Dateien und Artikelbildern vereinfachen:
Seit wann hast du denn ein neues Theme? Schick, schick ...
Geforkt und gleich mal ein paar Dinge geändert.
1. Das ganze Geraffel in eine Klassen ausgelagert. So kann man den Code leichter wiederverwenden.
2. Ich halte es nicht für so ganz sinnvoll die Textdomain auch bei so kleinen Plugins aus dem Plugin Header auszulesen. Kostet nur Zeit, Speicher und Performance. Da es bei größeren Plugins jedoch ganz nützlich sein kann, habe ich das in eine weitere Klasse ausgelagert. Ist bei diesen Plugin also noch mit drin, auch wenn ich es persönlich nicht für sinnvoll halte.
3. Einschränkung für verschiedene Dateitypen hinzugefügt.
Die Klasse
Limit_Image_Uploadholt man sich über einenrequireoder Autoloader rein und übergibt ihr die Konfiguration via Array. Die möglichen Werte sollten soweit klar und selbsterklärend sein.Die Übersetzung habe ich nicht angepasst, war nur ein String und den kann / sollte man nach gut Dünken selber anpassen. Nutzt man die Klasse in einen anderen Plugin, muss man die Übersetzung eh neu anpassen.
@Ralf: vielen Dank für die Erweiterungen; habe diese auch gleich aufgegriffen und ergänzt, sollte nun runder sein und vor allem nutzbarer als Klasse, wenn nicht direkt im Plugin. Einen kleinen Autloader habe ich integriert, so dass man in diesem Ordner beliebig viele Klassen rein stecken kann.
- Theme: Simon sein neustes Werk, was zumindest im Design in meine Wunschrichtung ging, etwas anpassen und gut. Ich komme einfach nicht zu einem eigenen Theme, CSS und co. sind aktuell im Kundenumfeld so groß, dass mir Zeit und Muse fehlt und ich war das vorhergehende Theme leid, es musste was neues her.
Hab dir noch mal einen Pull-Request geschickt. Konnte mir dieses fürchterliche Ungetüm im Loader nicht ansehen und hab es durch das kleine, niedliche
globersetzt@Ralf: danke dir vielmals! WÜnschte ich mir öfter, von einer größeren Gemeinde.
Hallo Frank,
dieses Plugin ist genau das was ich suche, aber wo stelle ich was ein?
Der User soll nur Bilder hochladen dürfen: JPG
Der User darf nur 1 Bild hochladen
Der User darf nur Seine Bilder sehen. Also nur Galerie und das Upload feld.
Ich freue mich auf eine Antwort,
Grüße,
derDenis
@Denis: es gibt keine Einstellungen, dass musst du im Code anpassen.
Hi Frank,
das Dachte ich mir schon, nur wo?
Welche Datei nehme ich denn?
Ich möchte auch, das die Einschränkung nur für ein bestimmtes Custom Post Type ist.
Ich habe zwar mal versucht was zu ändern aber es erzielte nicht die gewünschte reaktion.
Änder ich hier:
class-limit_image_upload.php
oder hier
class-fetch_plugin_header.php
immer in den ARRAYs()
Grüße,
derDenis
@Denis: in der Hauptdatei
limit-image-upload.phpgibt es eine Methodestart_limit_image_upload, die dazu die Varpost_typeshat. In dieser Array schreibst du die Post typen rein, die nicht eingeschränkt werden sollen.@Denis: Die Plugin-Codes die in den meisten Blogs gepostet werden sind eher PoC( Proof of Concept; Beweis das es geht) bzw. ein Grundgerüst auf dem man aufbauen kann.
Mit einem kleinen Klingeln in der Kaffeekasse weckt man den einen oder anderen Coder der sich dann vielleicht noch mal die Mühe macht das Plugin weiter auszubauen
welche kaffeekasse?
Sorry, wenn ich so viel frage, aber wie heißt denn der standard Artikel? Denn den müßte ich dann ja ausschließen
Bei 'mime_types' lasse ich alle stehen die ich erlaube, richtig?
@Denis: page and post muss raus.
Super, genau so was habe ich gesucht! Vielen Dank für die Info! Muss ich öfters bei dir vorbeischauen in Zukunft